diff --git a/DEPS b/DEPS
index cec35356..21c1c8b 100644
--- a/DEPS
+++ b/DEPS
@@ -304,15 +304,15 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling V8
   # and whatever else without interference from each other.
-  'src_internal_revision': '20b9239ff86b10b673e8b2240cd9cf0c9c93fb34',
+  'src_internal_revision': '30fdbead0c83d2500fbcfd3309af0e4eb3c9ece6',
   # 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': '61a2dcff41941382a000957210e314a1b4c92a06',
+  'skia_revision': '7b38914297aac887aa2a77161db571e5a7f525dc',
   # 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': 'b439879d791e9bce8ad5e082a9b3ac6bd3ed4879',
+  'v8_revision': 'cdc82b5931e4f31f9bb1fc046caf3723f1cd6bb0',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling ANGLE
   # and whatever else without interference from each other.
@@ -379,7 +379,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': 'e9e26197a5d7a9b8bf8c3263a44fd12d6ad71a39',
+  'catapult_revision': 'b46f981617989d930937991925c5b4a3f6f37866',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling chromium_variations
   # and whatever else without interference from each other.
@@ -443,7 +443,7 @@
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libavif
   # and whatever else without interference from each other.
-  'libavif_revision': '72ed871e2570b85b1026212379f48c7b8e3ceea4',
+  'libavif_revision': '6e45bc71976b64a78e0a135b67ba082bdd933f10',
   # Three lines of non-changing comments so that
   # the commit queue can handle CLs rolling libavifinfo
   # and whatever else without interference from each other.
@@ -823,12 +823,12 @@
 
   'src/clank': {
     'url': Var('chrome_git') + '/clank/internal/apps.git' + '@' +
-    'd3ffe4294cb16a32a496711c627d481ab591e9ae',
+    '3838874d88a750c9acca456bfe7bdcd5bd67a04d',
     'condition': 'checkout_android and checkout_src_internal',
   },
 
   'src/docs/website': {
-    'url': Var('chromium_git') + '/website.git' + '@' + 'dd7e7541ade7cd1a535906494f87332575b3ac1f',
+    'url': Var('chromium_git') + '/website.git' + '@' + '571effba5104c0cf7b0396dd924ad03d409b7209',
   },
 
   'src/ios/third_party/earl_grey2/src': {
@@ -1181,7 +1181,7 @@
 
   # For Linux and Chromium OS.
   'src/third_party/cros_system_api': {
-      'url': Var('chromium_git') + '/chromiumos/platform2/system_api.git' + '@' + 'b94521bd4f0d6e87e3377ea070ce2827b16d187e',
+      'url': Var('chromium_git') + '/chromiumos/platform2/system_api.git' + '@' + 'e5100d618713aadf930da88e2e8458a6432f15c6',
       'condition': 'checkout_linux or checkout_chromeos',
   },
 
@@ -1529,7 +1529,7 @@
   },
 
   'src/third_party/libvpx/source/libvpx':
-    Var('chromium_git') + '/webm/libvpx.git' + '@' +  'b95d17572629c676bdcfd535fb3990b9f6f8fb11',
+    Var('chromium_git') + '/webm/libvpx.git' + '@' +  '2dead7118aeb86e98793dcd3873862e6e2115c8a',
 
   'src/third_party/libwebm/source':
     Var('chromium_git') + '/webm/libwebm.git' + '@' + 'e4fbea0c9751ae8aa86629b197a28d8276a2b0da',
@@ -1661,7 +1661,7 @@
     Var('pdfium_git') + '/pdfium.git' + '@' +  Var('pdfium_revision'),
 
   'src/third_party/perfetto':
-    Var('android_git') + '/platform/external/perfetto.git' + '@' + '47d8a29df6e99068a49745c75929874caf6d2630',
+    Var('android_git') + '/platform/external/perfetto.git' + '@' + '943b66c41f8e415f8fecc1b3bf34274cf96cf0c1',
 
   'src/third_party/perl': {
       'url': Var('chromium_git') + '/chromium/deps/perl.git' + '@' + '8ef97ff3b7332e38e61b347a2fbed425a4617151',
@@ -3761,7 +3761,7 @@
   # Dependencies from src_internal
   'src/chromeos/assistant/internal': {
       'url': Var('chrome_git') + '/chrome/assistant.git' + '@' +
-        '24faabb647aebc6c9f94e2255fcfcfd163fea8f9',
+        'a2f5b174dbc4f5a6ceb9757e9f292ff17015d7ad',
       'condition': 'checkout_src_internal and checkout_chromeos',
     },
 
@@ -3949,7 +3949,7 @@
 
   'src/components/optimization_guide/internal': {
       'url': Var('chrome_git') + '/chrome/components/optimization_guide.git' + '@' +
-        '5ebbe58ea936307a4864e6f9a783516388711e0b',
+        'a3760c690e015a558051a86ec9077028fcbc737f',
       'condition': 'checkout_src_internal',
   },
 
@@ -4009,7 +4009,7 @@
 
   'src/ios_internal':  {
       'url': Var('chrome_git') + '/chrome/ios_internal.git' + '@' +
-        'b5e81d34cc21e705f198c8e69221bae12ed01596',
+        '84182524be8282c65932447e503098332ab53344',
       'condition': 'checkout_ios and checkout_src_internal',
   },
 
diff --git a/ash/constants/ash_features.cc b/ash/constants/ash_features.cc
index f0f9751..367b254 100644
--- a/ash/constants/ash_features.cc
+++ b/ash/constants/ash_features.cc
@@ -1349,12 +1349,12 @@
 // Enables growth framework.
 BASE_FEATURE(kGrowthFramework,
              "GrowthFramework",
-             base::FEATURE_DISABLED_BY_DEFAULT);
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Enables Demo mode customizations with growth campaigns.
 BASE_FEATURE(kGrowthCampaignsInDemoMode,
              "GrowthCampaignsInDemoMode",
-             base::FEATURE_DISABLED_BY_DEFAULT);
+             base::FEATURE_ENABLED_BY_DEFAULT);
 
 // Enables new on-device recognition for legacy handwriting input.
 // This flag should be OVERRIDDEN for devices which do not have on-device
@@ -2977,6 +2977,12 @@
              "DeviceActiveClientChurnObservationCheckMembership",
              base::FEATURE_DISABLED_BY_DEFAULT);
 
+// Enables or disables attaching first active week and last powerwash week to
+// the churn observation check in ping.
+BASE_FEATURE(kDeviceActiveClientChurnObservationNewDeviceMetadata,
+             "DeviceActiveClientChurnObservationNewDeviceMetadata",
+             base::FEATURE_DISABLED_BY_DEFAULT);
+
 // Enables or disables forced reboots when DeviceScheduledReboot policy is set.
 BASE_FEATURE(kDeviceForceScheduledReboot,
              "DeviceForceScheduledReboot",
@@ -3020,7 +3026,7 @@
 // Enables peripheral customization to be split per device.
 BASE_FEATURE(kPeripheralCustomization,
              "PeripheralCustomization",
-             base::FEATURE_ENABLED_BY_DEFAULT);
+             base::FEATURE_DISABLED_BY_DEFAULT);
 
 // Enables or disables peripherals logging.
 BASE_FEATURE(kEnablePeripheralsLogging,
diff --git a/ash/constants/ash_features.h b/ash/constants/ash_features.h
index 2f953084..fde8b5b7 100644
--- a/ash/constants/ash_features.h
+++ b/ash/constants/ash_features.h
@@ -196,6 +196,8 @@
 COMPONENT_EXPORT(ASH_CONSTANTS)
 BASE_DECLARE_FEATURE(kDeviceActiveClientChurnObservationCheckMembership);
 COMPONENT_EXPORT(ASH_CONSTANTS)
+BASE_DECLARE_FEATURE(kDeviceActiveClientChurnObservationNewDeviceMetadata);
+COMPONENT_EXPORT(ASH_CONSTANTS)
 BASE_DECLARE_FEATURE(kDeviceForceScheduledReboot);
 COMPONENT_EXPORT(ASH_CONSTANTS)
 extern const base::FeatureParam<base::TimeDelta>
diff --git a/ash/controls/contextual_tooltip.cc b/ash/controls/contextual_tooltip.cc
index 14b40a1..83e7546 100644
--- a/ash/controls/contextual_tooltip.cc
+++ b/ash/controls/contextual_tooltip.cc
@@ -64,6 +64,8 @@
       return "time_of_day_feature_banner";
     case TooltipType::kTimeOfDayWallpaperDialog:
       return "time_of_day_wallpaper_dialog";
+    case TooltipType::kSeaPenWallpaperTermsDialog:
+      return "sea_pen_wallpaper_terms_dialog";
   }
   return "invalid";
 }
@@ -137,7 +139,9 @@
       (type == TooltipType::kTimeOfDayFeatureBanner &&
        success_count >= kSuccessLimitTimeOfDayFeatureBanner) ||
       (type == TooltipType::kTimeOfDayWallpaperDialog &&
-       success_count >= kSuccessLimitTimeOfDayWallpaperDialog)) {
+       success_count >= kSuccessLimitTimeOfDayWallpaperDialog) ||
+      (type == TooltipType::kSeaPenWallpaperTermsDialog &&
+       success_count >= kSuccessLimitSeaPenWallpaperTermsDialog)) {
     set_recheck_delay(base::TimeDelta());
     return false;
   }
diff --git a/ash/controls/contextual_tooltip.h b/ash/controls/contextual_tooltip.h
index f05529ed..28dab0c 100644
--- a/ash/controls/contextual_tooltip.h
+++ b/ash/controls/contextual_tooltip.h
@@ -23,6 +23,7 @@
   kKeyboardBacklightWallpaperColor,
   kTimeOfDayFeatureBanner,
   kTimeOfDayWallpaperDialog,
+  kSeaPenWallpaperTermsDialog,
 };
 
 // These values are persisted to logs. Entries should not be renumbered and
@@ -51,6 +52,7 @@
 constexpr int kSuccessLimitKeyboardBacklightColor = 1;
 constexpr int kSuccessLimitTimeOfDayFeatureBanner = 1;
 constexpr int kSuccessLimitTimeOfDayWallpaperDialog = 1;
+constexpr int kSuccessLimitSeaPenWallpaperTermsDialog = 1;
 
 // Minimum time between showing contextual nudges to the user.
 constexpr base::TimeDelta kMinInterval = base::Days(1);
diff --git a/ash/glanceables/glanceables_metrics.cc b/ash/glanceables/glanceables_metrics.cc
index 7630ecf..d6d8887de 100644
--- a/ash/glanceables/glanceables_metrics.cc
+++ b/ash/glanceables/glanceables_metrics.cc
@@ -24,16 +24,28 @@
 constexpr char kTimeManagementClassroomPrefix[] =
     "Ash.Glanceables.TimeManagement.Classroom";
 
+void RecordTasksUserAction() {
+  base::RecordAction(base::UserMetricsAction("Glanceables_Tasks_UserAction"));
+}
+
+void RecordClassroomUserAction() {
+  base::RecordAction(
+      base::UserMetricsAction("Glanceables_Classroom_UserAction"));
+}
+
 }  // namespace
 
 namespace ash {
 
 void RecordActiveTaskListChanged() {
+  RecordTasksUserAction();
   base::RecordAction(
       base::UserMetricsAction("Glanceables_Tasks_ActiveTaskListChanged"));
 }
 
 void RecordTaskMarkedAsCompleted(bool complete) {
+  RecordTasksUserAction();
+
   if (complete) {
     base::RecordAction(
         base::UserMetricsAction("Glanceables_Tasks_TaskMarkedAsCompleted"));
@@ -43,7 +55,48 @@
   }
 }
 
+void RecordUserStartedAddingTask() {
+  RecordTasksUserAction();
+
+  base::RecordAction(
+      base::UserMetricsAction("Glanceables_Tasks_AddTaskStarted"));
+}
+
+void RecordTaskAdditionResult(TaskModificationResult result) {
+  base::UmaHistogramEnumeration(
+      base::StrCat({kTimeManagementTaskPrefix, ".AddTaskResult"}), result);
+}
+
+void RecordNumberOfAddedTasks(int add_task_action_count,
+                              bool in_empty_task_list,
+                              bool first_usage) {
+  if (first_usage) {
+    base::UmaHistogramCounts100(
+        "Ash.Glanceables.TimeManagement.Tasks."
+        "AddedTasksForFirstUsage",
+        add_task_action_count);
+  }
+  base::UmaHistogramCounts100(
+      base::StrCat({kTimeManagementTaskPrefix, ".AddedTasks",
+                    in_empty_task_list ? ".InEmptyList" : ".InNonEmptyList"}),
+      add_task_action_count);
+}
+
+void RecordUserModifyingTask() {
+  RecordTasksUserAction();
+
+  base::RecordAction(
+      base::UserMetricsAction("Glanceables_Tasks_ModifyTaskStarted"));
+}
+
+void RecordTaskModificationResult(TaskModificationResult result) {
+  base::UmaHistogramEnumeration(
+      base::StrCat({kTimeManagementTaskPrefix, ".ModifyTaskResult"}), result);
+}
+
 void RecordTasksLaunchSource(TasksLaunchSource source) {
+  RecordTasksUserAction();
+
   switch (source) {
     case TasksLaunchSource::kHeaderButton:
       base::RecordAction(base::UserMetricsAction(
@@ -64,7 +117,12 @@
   }
 }
 
-void RecordAddTaskButtonShown() {
+void RecordUserWithNoTasksRedictedToTasksUI() {
+  base::RecordAction(
+      base::UserMetricsAction("Glanceables_Tasks_NewUserNavigatedToTasks"));
+}
+
+void RecordAddTaskButtonShownForTT() {
   base::RecordAction(
       base::UserMetricsAction("Glanceables_Tasks_AddTaskButtonShown"));
 }
@@ -202,7 +260,28 @@
       change_count);
 }
 
+void RecordStudentAssignmentPressed(bool default_list) {
+  RecordClassroomUserAction();
+
+  base::RecordAction(
+      base::UserMetricsAction("Glanceables_Classroom_AssignmentPressed"));
+
+  if (default_list) {
+    base::RecordAction(base::UserMetricsAction(
+        "Glanceables_Classroom_AssignmentPressed_DefaultList"));
+  }
+}
+
+void RecordClassroomHeaderIconPressed() {
+  RecordClassroomUserAction();
+
+  base::RecordAction(
+      base::UserMetricsAction("Glanceables_Classroom_HeaderIconPressed"));
+}
+
 void RecordStudentAssignmentListSelected(StudentAssignmentsListType list_type) {
+  RecordClassroomUserAction();
+
   base::UmaHistogramEnumeration(
       "Ash.Glanceables.Classroom.Student.ListSelected", list_type);
 }
diff --git a/ash/glanceables/glanceables_metrics.h b/ash/glanceables/glanceables_metrics.h
index 5dc2566..3a544ab 100644
--- a/ash/glanceables/glanceables_metrics.h
+++ b/ash/glanceables/glanceables_metrics.h
@@ -24,13 +24,52 @@
   kMaxValue = kEditInGoogleTasksButton,
 };
 
+enum class TaskModificationResult {
+  kCommitted = 0,
+  kCancelled = 1,
+  kMaxValue = kCancelled
+};
+
 void RecordActiveTaskListChanged();
 
 void RecordTaskMarkedAsCompleted(bool complete);
 
 void RecordTasksLaunchSource(TasksLaunchSource source);
 
-void RecordAddTaskButtonShown();
+// Records a user action that indicates that a user with no tasks preformed an
+// action that redirected them to tasks web UI.
+void RecordUserWithNoTasksRedictedToTasksUI();
+
+// Records an user action indicating the user triggered tasks glanceables UI to
+// add a new task.
+void RecordUserStartedAddingTask();
+
+// Records a histogram that tracks whether the UI to add a task resulted in an
+// tasks API request to create a new task, or whether the task creation was
+// cancelled.
+void RecordTaskAdditionResult(TaskModificationResult result);
+
+// Records the number of tasks the user added from the tasks UI. The count is
+// scoped to the time a task list is being shown - it will be reset when the
+// bubble is reopened, or the user changes the selected task list.
+// `added_tasks` - number of tasks added.
+// `in_empty_task_list` - whether the task list was empty when selected.
+// `first_usage` - whether the user had any tasks at the time the task list was
+// selected - this will be true for users that had a single empty task list.
+void RecordNumberOfAddedTasks(int added_tasks,
+                              bool in_empty_task_list,
+                              bool first_usage);
+
+// Records an user action indicating the user clicked on a task title, which
+// triggers UI to modify the task.
+void RecordUserModifyingTask();
+
+// Records a histogram that tracks whether the UI to modify a task resulted in
+// an tasks API request to update the task, or whether the task modification
+// was no-op.
+void RecordTaskModificationResult(TaskModificationResult result);
+
+void RecordAddTaskButtonShownForTT();
 
 // Records "Add new task" button impression vs. interaction for new Tasks users
 // (users with only one tasks list and zero tasks in it) and only for Trusted
@@ -58,6 +97,14 @@
                                          base::TimeDelta time_shown,
                                          bool default_list);
 
+// Records user actions for user press on an assignment.
+// `default_list` - whether the assignment was pressed for the assignment list
+// that was shown initially.
+void RecordStudentAssignmentPressed(bool default_list);
+
+// Records that the user pressed a header icon in the classroom bubble.
+void RecordClassroomHeaderIconPressed();
+
 // Record the number of times that the student assignment list changed.
 void RecordStudentSelectedListChangeCount(int change_count);
 
diff --git a/ash/glanceables/tasks/glanceables_task_view_v2.cc b/ash/glanceables/tasks/glanceables_task_view_v2.cc
index 382259d1..6f14085e 100644
--- a/ash/glanceables/tasks/glanceables_task_view_v2.cc
+++ b/ash/glanceables/tasks/glanceables_task_view_v2.cc
@@ -469,6 +469,8 @@
 }
 
 void GlanceablesTaskViewV2::TaskTitleButtonPressed() {
+  RecordUserModifyingTask();
+
   // TODO(b/301253574): notify siblings to switch to `kView`.
   UpdateTaskTitleViewForState(TaskTitleViewState::kEdit);
 }
@@ -482,6 +484,11 @@
   UpdateTaskTitleViewForState(TaskTitleViewState::kView);
 
   if (task_id_.empty() || task_title_ != old_title) {
+    // Note: result for task addition flow will be recorded in the parent view,
+    // which initialized add task flow.
+    if (!task_id_.empty()) {
+      RecordTaskModificationResult(TaskModificationResult::kCommitted);
+    }
     save_callback_.Run(weak_ptr_factory_.GetWeakPtr(), task_id_,
                        base::UTF16ToUTF8(task_title_),
                        base::BindOnce(&GlanceablesTaskViewV2::OnSaved,
@@ -489,6 +496,12 @@
     // TODO(b/301253574): introduce "disabled" state for this view to prevent
     // editing / marking as complete while the task is not fully created yet and
     // race conditions while editing the same task.
+  } else {
+    // Note: result for task addition flow will be recorded in the parent view,
+    // which initialized add task flow.
+    if (!task_id_.empty()) {
+      RecordTaskModificationResult(TaskModificationResult::kCancelled);
+    }
   }
 }
 
diff --git a/ash/glanceables/tasks/glanceables_tasks_view.cc b/ash/glanceables/tasks/glanceables_tasks_view.cc
index 5591d892..bcd68db 100644
--- a/ash/glanceables/tasks/glanceables_tasks_view.cc
+++ b/ash/glanceables/tasks/glanceables_tasks_view.cc
@@ -93,16 +93,6 @@
 BEGIN_METADATA(AddNewTaskButton)
 END_METADATA
 
-// Handles press behavior for icons that are used to open Google Tasks in the
-// browser.
-void ActionButtonPressed(TasksLaunchSource source) {
-  RecordTasksLaunchSource(source);
-  NewWindowDelegate::GetPrimary()->OpenUrl(
-      GURL(kTasksManagementPage),
-      NewWindowDelegate::OpenUrlFrom::kUserInteraction,
-      NewWindowDelegate::Disposition::kNewForegroundTab);
-}
-
 }  // namespace
 
 GlanceablesTasksViewBase::GlanceablesTasksViewBase()
@@ -178,7 +168,8 @@
 
   auto* const header_icon =
       tasks_header_view_->AddChildView(std::make_unique<IconButton>(
-          base::BindRepeating(&ActionButtonPressed,
+          base::BindRepeating(&GlanceablesTasksView::ActionButtonPressed,
+                              base::Unretained(this),
                               TasksLaunchSource::kHeaderButton),
           IconButton::Type::kSmall, &kGlanceablesTasksIcon,
           IDS_GLANCEABLES_TASKS_HEADER_ICON_ACCESSIBLE_NAME));
@@ -208,7 +199,8 @@
       list_view->AddChildView(std::make_unique<GlanceablesListFooterView>(
           l10n_util::GetStringUTF16(
               IDS_GLANCEABLES_TASKS_SEE_ALL_BUTTON_ACCESSIBLE_NAME),
-          base::BindRepeating(&ActionButtonPressed,
+          base::BindRepeating(&GlanceablesTasksView::ActionButtonPressed,
+                              base::Unretained(this),
                               TasksLaunchSource::kFooterButton)));
   list_footer_view_->SetID(
       base::to_underlying(GlanceablesViewId::kTasksBubbleListFooter));
@@ -221,6 +213,8 @@
 GlanceablesTasksView::~GlanceablesTasksView() {
   if (first_task_list_shown_) {
     RecordTasksListChangeCount(tasks_list_change_count_);
+    RecordNumberOfAddedTasks(added_tasks_, task_list_initially_empty_,
+                             user_with_no_tasks_);
   }
 }
 
@@ -243,6 +237,9 @@
       /*index=*/0);
   pending_new_task->UpdateTaskTitleViewForState(
       GlanceablesTaskViewV2::TaskTitleViewState::kEdit);
+
+  RecordUserStartedAddingTask();
+
   PreferredSizeChanged();
 }
 
@@ -255,7 +252,8 @@
                           base::Unretained(this), task_list_id),
       base::BindRepeating(&GlanceablesTasksView::SaveTask,
                           base::Unretained(this), task_list_id),
-      base::BindRepeating(&ActionButtonPressed,
+      base::BindRepeating(&GlanceablesTasksView::ActionButtonPressed,
+                          base::Unretained(this),
                           TasksLaunchSource::kEditInGoogleTasksButton));
 }
 
@@ -296,6 +294,10 @@
     base::UmaHistogramCounts100(
         "Ash.Glanceables.TimeManagement.TasksCountInDefaultTaskList",
         tasks->item_count());
+  } else {
+    RecordNumberOfAddedTasks(added_tasks_, task_list_initially_empty_,
+                             user_with_no_tasks_);
+    added_tasks_ = 0;
   }
 
   progress_bar_->UpdateProgressBarVisibility(/*visible=*/false);
@@ -303,6 +305,8 @@
   task_items_container_view_->RemoveAllChildViews();
 
   size_t num_tasks_shown = 0;
+  user_with_no_tasks_ =
+      tasks->item_count() == 0 && tasks_combobox_model_->GetItemCount() == 1;
 
   for (const auto& task : *tasks) {
     if (task->completed) {
@@ -315,6 +319,7 @@
       ++num_tasks_shown;
     }
   }
+  task_list_initially_empty_ = num_tasks_shown == 0;
   list_footer_view_->SetVisible(tasks->item_count() >= kMaximumTasks);
 
   task_items_container_view_->SetAccessibleName(l10n_util::GetStringFUTF16(
@@ -364,6 +369,17 @@
       task_list_id, task_id, completed);
 }
 
+void GlanceablesTasksView::ActionButtonPressed(TasksLaunchSource source) {
+  if (user_with_no_tasks_) {
+    RecordUserWithNoTasksRedictedToTasksUI();
+  }
+  RecordTasksLaunchSource(source);
+  NewWindowDelegate::GetPrimary()->OpenUrl(
+      GURL(kTasksManagementPage),
+      NewWindowDelegate::OpenUrlFrom::kUserInteraction,
+      NewWindowDelegate::Disposition::kNewForegroundTab);
+}
+
 void GlanceablesTasksView::SaveTask(
     const std::string& task_list_id,
     base::WeakPtr<GlanceablesTaskViewV2> view,
@@ -375,9 +391,13 @@
     // this task has a non-empty title, otherwise just delete the `view` from
     // the scrollable container.
     if (title.empty() && view) {
+      RecordTaskAdditionResult(TaskModificationResult::kCancelled);
       task_items_container_view_->RemoveChildViewT(view.get());
       return;
     }
+
+    ++added_tasks_;
+    RecordTaskAdditionResult(TaskModificationResult::kCommitted);
   }
 
   progress_bar_->UpdateProgressBarVisibility(/*visible=*/true);
diff --git a/ash/glanceables/tasks/glanceables_tasks_view.h b/ash/glanceables/tasks/glanceables_tasks_view.h
index 9dc6f803..41e889a 100644
--- a/ash/glanceables/tasks/glanceables_tasks_view.h
+++ b/ash/glanceables/tasks/glanceables_tasks_view.h
@@ -92,6 +92,10 @@
                            const std::string& task_id,
                            bool completed);
 
+  // Handles press behavior for icons that are used to open Google Tasks in the
+  // browser.
+  void ActionButtonPressed(TasksLaunchSource source);
+
   // Saves the task (either creates or updates the existing one).
   // `view`     - individual task view which triggered this request.
   // `callback` - done callback passed from an individual task view.
@@ -135,6 +139,18 @@
   // metrics.
   base::TimeTicks tasks_requested_time_;
 
+  // Number of tasks added by the user for the currently selected task list.
+  // Task is considered "added" if task creation was requested via tasks API.
+  // The count is reset when the selected task list changes.
+  int added_tasks_ = 0;
+
+  // Whether the current task list was empty when it got selected.
+  bool task_list_initially_empty_ = false;
+
+  // Whether the user had a single task list with no tasks when the current task
+  // list was selected.
+  bool user_with_no_tasks_ = false;
+
   base::ScopedObservation<views::View, views::ViewObserver>
       combobox_view_observation_{this};
 
diff --git a/ash/public/cpp/shelf_config.h b/ash/public/cpp/shelf_config.h
index ba5988b..ba256dae 100644
--- a/ash/public/cpp/shelf_config.h
+++ b/ash/public/cpp/shelf_config.h
@@ -107,6 +107,9 @@
   // Returns the shelf shortcut host badge icon border size.
   int GetShelfShortcutHostBadgeBorderSize() const;
 
+  // Returns the shelf shortcut bottom right corner radius.
+  int GetShelfShortcutTeardropCornerRadiusSize() const;
+
   // Returns the hotseat height for the given hotseat density.
   // NOTE: This may not match the actual hotseat size, as hotseat may get scaled
   // down if it does not fit in available bounds within the shelf. Use
@@ -342,6 +345,9 @@
   // Size of the shortcut host badge border.
   const int shelf_shortcut_host_badge_border_size_;
 
+  // Size of the bottom right corner radius of a shortcut.
+  const int shelf_shortcut_teardrop_corner_radius_;
+
   // Size allocated for each app button on the shelf.
   const int shelf_button_size_;
   const int shelf_button_size_median_;
diff --git a/ash/shelf/shelf_app_button.cc b/ash/shelf/shelf_app_button.cc
index 883817a..b7bd141 100644
--- a/ash/shelf/shelf_app_button.cc
+++ b/ash/shelf/shelf_app_button.cc
@@ -29,6 +29,7 @@
 #include "base/metrics/histogram_macros.h"
 #include "base/time/time.h"
 #include "chromeos/constants/chromeos_features.h"
+#include "components/services/app_service/public/cpp/app_shortcut_image.h"
 #include "skia/ext/image_operations.h"
 #include "ui/accessibility/ax_action_data.h"
 #include "ui/accessibility/ax_node_data.h"
@@ -491,11 +492,6 @@
   notification_indicator_ =
       AddChildView(std::make_unique<DotIndicator>(kDefaultIndicatorColor));
 
-  host_badge_icon_view_ = AddChildView(std::make_unique<views::ImageView>());
-  host_badge_icon_view_->SetPaintToLayer();
-  host_badge_icon_view_->layer()->SetFillsBoundsOpaquely(false);
-  host_badge_icon_view_->SetCanProcessEventsWithinSubtree(false);
-
   views::InkDrop::Get(this)->GetInkDrop()->AddObserver(this);
 
   // Do not set a clip, allow the ink drop to burst out.
@@ -524,13 +520,8 @@
       image, icon_shadows_));
 }
 
-void ShelfAppButton::UpdateIconImage() {
-  if (has_host_badge_ || is_promise_app_) {
-    icon_view_->SetImage(GetIconImage(icon_scale_));
-    return;
-  }
-
-  if (progress_indicator_) {
+void ShelfAppButton::UpdateMainAndMaybeHostBadgeIconImage() {
+  if (is_promise_app_ || progress_indicator_ || has_host_badge_) {
     icon_view_->SetImage(GetIconImage(icon_scale_));
     return;
   }
@@ -538,15 +529,6 @@
   SetShadowedImage(GetIconImage(icon_scale_));
 }
 
-void ShelfAppButton::UpdateBadgeIconImage() {
-  if (!has_host_badge_) {
-    host_badge_icon_view_->SetImage(gfx::ImageSkia());
-    return;
-  }
-
-  host_badge_icon_view_->SetImage(GetBadgeIconImage(icon_scale_));
-}
-
 gfx::ImageSkia ShelfAppButton::GetImage() const {
   return icon_view_->GetImage();
 }
@@ -577,14 +559,25 @@
         icon_image, skia::ImageOperations::RESIZE_BEST, preferred_size);
   }
 
-  if (has_host_badge_) {
-    icon_image = gfx::ImageSkiaOperations::CreateImageWithCircleBackground(
-        std::round(shelf_view_->GetShelfShortcutIconContainerSize() *
-                   icon_scale / 2),
-        color_provider->GetColor(cros_tokens::kCrosSysSystemOnBaseOpaque),
-        icon_image);
-  }
+  if (has_host_badge_ && GetColorProvider()) {
+    const int main_icon_radius = std::round(
+        icon_scale * shelf_view_->GetShelfShortcutIconContainerSize() / 2.0f);
+    const int badge_radius = std::round(
+        icon_scale * shelf_view_->GetShelfShortcutHostBadgeContainerSize() /
+        2.0f);
+    const int teardrop_corner_radius = std::round(
+        icon_scale * shelf_view_->GetShelfShortcutTeardropCornerRadiusSize());
+    const int badge_icon_size = std::round(
+        icon_scale * shelf_view_->GetShelfShortcutHostBadgeIconSize());
 
+    return apps::AppShortcutImage::CreateImageWithBadgeAndTeardropBackground(
+        main_icon_radius, teardrop_corner_radius, badge_radius,
+        GetColorProvider()->GetColor(cros_tokens::kCrosSysSystemOnBaseOpaque),
+        icon_image,
+        gfx::ImageSkiaOperations::CreateResizedImage(
+            host_badge_image_, skia::ImageOperations::RESIZE_BEST,
+            gfx::Size(badge_icon_size, badge_icon_size)));
+  }
   return icon_image;
 }
 
@@ -606,20 +599,12 @@
           gfx::Size(icon_size, icon_size)));
 }
 
-void ShelfAppButton::SetHostBadgeImage(const gfx::ImageSkia& host_badge_image) {
-  if (host_badge_image.isNull()) {
-    host_badge_image_ = gfx::ImageSkia();
-    return;
-  }
-  host_badge_image_ = host_badge_image;
-  UpdateBadgeIconImage();
-}
-
 void ShelfAppButton::SetMainAndMaybeHostBadgeImage(
     const gfx::ImageSkia& main_image,
     bool has_placeholder_icon,
     const gfx::ImageSkia& host_badge_image) {
   has_icon_image_ = !main_image.isNull() && !has_placeholder_icon;
+  has_host_badge_ = !host_badge_image.isNull();
 
   if (has_icon_image_ && !force_fallback_icon_) {
     fallback_icon_image_model_ = ui::ImageModel();
@@ -627,11 +612,11 @@
       // Clear background set as a result of adding progress indicator.
       SetBackground(nullptr);
     }
+    if (has_host_badge_) {
+      host_badge_image_ = host_badge_image;
+    }
   }
 
-  // `has_host_badge_` needs to be set before SetImage(), since image size is
-  // set depending on the boolean logic.
-  has_host_badge_ = !host_badge_image.isNull();
   if (is_promise_app_ && has_placeholder_icon) {
     icon_image_model_ = ui::ImageModel(ui::ImageModel::FromVectorIcon(
         ash::kPlaceholderAppIcon, cros_tokens::kCrosSysPrimary));
@@ -639,8 +624,8 @@
     icon_image_model_ =
         ui::ImageModel(ui::ImageModel::FromImageSkia(main_image));
   }
-  SetHostBadgeImage(host_badge_image);
-  UpdateIconImage();
+
+  UpdateMainAndMaybeHostBadgeIconImage();
 }
 
 void ShelfAppButton::AddState(State state) {
@@ -830,7 +815,7 @@
 
   force_fallback_icon_ = true;
   fallback_icon_image_model_ = fallback_icon;
-  UpdateIconImage();
+  UpdateMainAndMaybeHostBadgeIconImage();
 
   gfx::Rect icon_bounds(GetIconViewBounds(GetContentsBounds(), 1.0f,
                                           /*ignore_shadow_insets=*/false));
@@ -1051,18 +1036,6 @@
   return gfx::ToRoundedRect(icon_view_bounds);
 }
 
-gfx::Rect ShelfAppButton::GetIdealHostBadgeContainerBounds(
-    const gfx::Rect& main_app_icon_bounds,
-    float icon_scale) {
-  const int container_size = std::round(
-      icon_scale * shelf_view_->GetShelfShortcutHostBadgeContainerSize());
-  const gfx::Size host_badge_container_view_size(container_size,
-                                                 container_size);
-  gfx::Rect rect(main_app_icon_bounds.CenterPoint(),
-                 host_badge_container_view_size);
-  return rect;
-}
-
 gfx::Rect ShelfAppButton::GetNotificationIndicatorBounds(float icon_scale) {
   gfx::Rect scaled_icon_view_bounds = GetIconViewBounds(
       GetContentsBounds(), icon_scale, /*ignore_shadow_bounds=*/false);
@@ -1085,11 +1058,6 @@
       ShelfConfig::Get()->status_indicator_offset_from_shelf_edge();
   icon_view_->SetBoundsRect(icon_view_bounds);
 
-  if (has_host_badge_) {
-    host_badge_icon_view_->SetBoundsRect(
-        GetIdealHostBadgeContainerBounds(icon_view_bounds, icon_scale_));
-  }
-
   notification_indicator_->SetIndicatorBounds(
       GetNotificationIndicatorBounds(icon_scale_));
 
@@ -1134,8 +1102,7 @@
 void ShelfAppButton::OnThemeChanged() {
   ShelfButton::OnThemeChanged();
 
-  UpdateIconImage();
-  UpdateBadgeIconImage();
+  UpdateMainAndMaybeHostBadgeIconImage();
 
   // Redraw progress indicator to adjust colors.
   if (progress_indicator_) {
@@ -1327,8 +1294,7 @@
 
   if (scale_up) {
     icon_scale_ = kAppIconScale;
-    UpdateIconImage();
-    UpdateBadgeIconImage();
+    UpdateMainAndMaybeHostBadgeIconImage();
     icon_view_->layer()->SetTransform(GetScaleTransform(kAppIconScale));
   }
   ui::ScopedLayerAnimationSettings settings(icon_view_->layer()->GetAnimator());
@@ -1360,39 +1326,12 @@
     notification_indicator_->layer()->SetTransform(scale_up ? gfx::Transform()
                                                             : scale_transform);
   }
-
-  if (has_host_badge_) {
-    gfx::RectF pre_scale(GetMirroredRect(GetIdealHostBadgeContainerBounds(
-        GetIconViewBounds(GetContentsBounds(), 1.0f,
-                          /*ignore_shadow_bounds=*/false),
-        1.0f)));
-    gfx::RectF post_scale(GetMirroredRect(GetIdealHostBadgeContainerBounds(
-        GetIconViewBounds(GetContentsBounds(), kAppIconScale,
-                          /*ignore_shadow_bounds=*/false),
-        kAppIconScale)));
-    gfx::Transform scale_transform =
-        gfx::TransformBetweenRects(post_scale, pre_scale);
-
-    if (scale_up) {
-      host_badge_icon_view_->layer()->SetTransform(scale_transform);
-    }
-    ui::ScopedLayerAnimationSettings badge_settings(
-        host_badge_icon_view_->layer()->GetAnimator());
-    badge_settings.SetTransitionDuration(
-        base::Milliseconds(kDragDropAppIconScaleTransitionMs));
-    host_badge_icon_view_->layer()->SetTransform(scale_up ? gfx::Transform()
-                                                          : scale_transform);
-  }
 }
 
 void ShelfAppButton::OnImplicitAnimationsCompleted() {
   icon_scale_ = 1.0f;
-  UpdateIconImage();
-  UpdateBadgeIconImage();
+  UpdateMainAndMaybeHostBadgeIconImage();
   icon_view_->layer()->SetTransform(gfx::Transform());
-  if (has_host_badge_) {
-    host_badge_icon_view_->layer()->SetTransform(gfx::Transform());
-  }
   if (notification_indicator_) {
     notification_indicator_->layer()->SetTransform(gfx::Transform());
   }
@@ -1532,7 +1471,7 @@
     // Clear background set as a result of adding progress indicator.
     SetBackground(nullptr);
   }
-  UpdateIconImage();
+  UpdateMainAndMaybeHostBadgeIconImage();
 
   callback.Run();
 }
diff --git a/ash/shelf/shelf_app_button.h b/ash/shelf/shelf_app_button.h
index 5dc253ab..1d18fd516 100644
--- a/ash/shelf/shelf_app_button.h
+++ b/ash/shelf/shelf_app_button.h
@@ -68,11 +68,9 @@
 
   ~ShelfAppButton() override;
 
-  // Updates the icon image to display for this entry.
-  void UpdateIconImage();
-
-  // Updates the badge icon image to display for this entry.
-  void UpdateBadgeIconImage();
+  // Updates the icon image and maybe host badge icon image to display for this
+  // entry.
+  void UpdateMainAndMaybeHostBadgeIconImage();
 
   // Retrieve the image to show proxy operations.
   gfx::ImageSkia GetImage() const;
@@ -89,10 +87,10 @@
   // `icon_scale`. Returns an empty image if the app does not have a badge icon.
   gfx::ImageSkia GetBadgeIconImage(float icon_scale) const;
 
-  // Sets the `icon_image_model_` for this entry. If |is_placeholder_icon| is
-  // true, the |main_image| will be ignored and this entry will be assigned a
-  // placeholder vector icon. This method also SetHostBadgeImage() depending on
-  // `has_host_badge` and then calls into UpdateIconImage().
+  // Sets the `icon_image_model_`, and maybe `host_badge_image_` depending on
+  // `has_host_badge` for this entry. If |is_placeholder_icon| is true, the
+  // |main_image| will be ignored and this entry will be assigned a placeholder
+  // vector icon.
   void SetMainAndMaybeHostBadgeImage(const gfx::ImageSkia& main_image,
                                      bool is_placeholder_icon,
                                      const gfx::ImageSkia& host_badge_image);
@@ -114,13 +112,6 @@
   gfx::Rect GetIdealIconBounds(const gfx::Size& button_size,
                                float icon_scale) const;
 
-  // Returns the ideal host badge icon bounds within the shelf button cntents
-  // view. The badge icon bounds are calculated for assuming the provided
-  // `main_app_icon_bounds`, and `icon_scale`.
-  gfx::Rect GetIdealHostBadgeContainerBounds(
-      const gfx::Rect& main_app_icon_bounds,
-      float icon_scale);
-
   views::InkDrop* GetInkDropForTesting();
 
   // Called when user started dragging the shelf button.
@@ -276,10 +267,6 @@
   // The icon part of a button can be animated independently of the rest.
   raw_ptr<views::ImageView> icon_view_ = nullptr;
 
-  // The host badge icon part of a button, can be animated independently of the
-  // rest.
-  raw_ptr<views::ImageView> host_badge_icon_view_ = nullptr;
-
   // The ShelfView showing this ShelfAppButton. Owned by RootWindowController.
   const raw_ptr<ShelfView> shelf_view_;
 
diff --git a/ash/shelf/shelf_config.cc b/ash/shelf/shelf_config.cc
index 3fa7e91..edbfcf2 100644
--- a/ash/shelf/shelf_config.cc
+++ b/ash/shelf/shelf_config.cc
@@ -116,6 +116,7 @@
       shelf_shortcut_icon_border_size_(3),
       shelf_shortcut_host_badge_icon_size_(14),
       shelf_shortcut_host_badge_border_size_(2),
+      shelf_shortcut_teardrop_corner_radius_(8),
       shelf_button_size_(56),
       shelf_button_size_median_(52),
       shelf_button_size_dense_(48),
@@ -316,6 +317,10 @@
   return shelf_shortcut_host_badge_border_size_;
 }
 
+int ShelfConfig::GetShelfShortcutTeardropCornerRadiusSize() const {
+  return shelf_shortcut_teardrop_corner_radius_;
+}
+
 int ShelfConfig::GetHotseatSize(HotseatDensity density) const {
   if (!in_tablet_mode_)
     return shelf_size();
diff --git a/ash/shelf/shelf_view.cc b/ash/shelf/shelf_view.cc
index d26044e..6444161 100644
--- a/ash/shelf/shelf_view.cc
+++ b/ash/shelf/shelf_view.cc
@@ -484,6 +484,10 @@
          ShelfConfig::Get()->GetShelfShortcutHostBadgeBorderSize() * 2;
 }
 
+int ShelfView::GetShelfShortcutTeardropCornerRadiusSize() const {
+  return ShelfConfig::Get()->GetShelfShortcutTeardropCornerRadiusSize();
+}
+
 int ShelfView::GetShelfItemRippleSize() const {
   return GetButtonSize() +
          2 * ShelfConfig::Get()->scrollable_shelf_ripple_padding();
diff --git a/ash/shelf/shelf_view.h b/ash/shelf/shelf_view.h
index 543db8f4..6f79a2cf 100644
--- a/ash/shelf/shelf_view.h
+++ b/ash/shelf/shelf_view.h
@@ -299,6 +299,9 @@
   // Returns the size of a shelf button shortcut host badge icon border.
   int GetShelfShortcutHostBadgeContainerSize() const;
 
+  // Returns the size of a shelf button shortcut bottom right corner radius.
+  int GetShelfShortcutTeardropCornerRadiusSize() const;
+
   // Returns the size of the shelf item ripple ring.
   int GetShelfItemRippleSize() const;
 
diff --git a/ash/shell.cc b/ash/shell.cc
index 4d3ab09..274ec3f 100644
--- a/ash/shell.cc
+++ b/ash/shell.cc
@@ -306,6 +306,8 @@
 using aura::Window;
 using views::Widget;
 
+constexpr int kTooltipMaxWidth = 296;
+
 // A Corewm VisibilityController subclass that calls the Ash animation routine
 // so we can pick up our extended animations. See ash/wm/window_animations.h.
 class AshVisibilityController : public ::wm::VisibilityController {
@@ -1591,10 +1593,11 @@
 
   video_detector_ = std::make_unique<VideoDetector>();
 
+  auto tooltip_aura = std::make_unique<views::corewm::TooltipAura>(
+      base::BindRepeating(&StyleUtil::CreateAshStyleTooltipView));
+  tooltip_aura->SetMaxWidth(kTooltipMaxWidth);
   tooltip_controller_ = std::make_unique<views::corewm::TooltipController>(
-      std::make_unique<views::corewm::TooltipAura>(
-          base::BindRepeating(&StyleUtil::CreateAshStyleTooltipView)),
-      activation_client());
+      std::move(tooltip_aura), activation_client());
   AddPreTargetHandler(tooltip_controller_.get());
 
   modality_filter_ = std::make_unique<SystemModalContainerEventFilter>(this);
diff --git a/ash/style/style_util.cc b/ash/style/style_util.cc
index fbaac230..d620f178 100644
--- a/ash/style/style_util.cc
+++ b/ash/style/style_util.cc
@@ -30,6 +30,7 @@
 constexpr int kTooltipRoundedCornerRadius = 6;
 constexpr gfx::Insets kTooltipBorderInset = gfx::Insets::VH(5, 8);
 constexpr int kTooltipMinLineHeight = 18;
+constexpr int kTooltipMaxLines = 3;
 
 // A themed fully rounded rect background whose corner radius equals to the half
 // of the minimum dimension of its view's local bounds.
@@ -222,6 +223,8 @@
   tooltip_view->SetFontList(TypographyProvider::Get()->ResolveTypographyToken(
       TypographyToken::kCrosAnnotation1));
   tooltip_view->SetMinLineHeight(kTooltipMinLineHeight);
+  tooltip_view->SetElideBehavior(gfx::ElideBehavior::ELIDE_TAIL);
+  tooltip_view->SetMaxLines(kTooltipMaxLines);
   return tooltip_view;
 }
 
diff --git a/ash/system/input_device_settings/input_device_notifier.cc b/ash/system/input_device_settings/input_device_notifier.cc
index b08e579..7b21ff6 100644
--- a/ash/system/input_device_settings/input_device_notifier.cc
+++ b/ash/system/input_device_settings/input_device_notifier.cc
@@ -401,6 +401,7 @@
 std::vector<ui::InputDevice>
 InputDeviceNotifier<mojom::GraphicsTabletPtr,
                     ui::InputDevice>::GetUpdatedDeviceList() {
+  DCHECK(ash::features::IsPeripheralCustomizationEnabled());
   return ui::DeviceDataManager::GetInstance()->GetGraphicsTabletDevices();
 }
 
diff --git a/ash/system/unified/classroom_bubble_base_view.cc b/ash/system/unified/classroom_bubble_base_view.cc
index 3fee3b6..897edbc 100644
--- a/ash/system/unified/classroom_bubble_base_view.cc
+++ b/ash/system/unified/classroom_bubble_base_view.cc
@@ -237,18 +237,14 @@
 
 void ClassroomBubbleBaseView::OnItemViewPressed(bool initial_list_selected,
                                                 const GURL& url) {
-  if (initial_list_selected) {
-    base::RecordAction(base::UserMetricsAction(
-        "Glanceables_Classroom_AssignmentPressed_DefaultList"));
-  }
-  base::RecordAction(
-      base::UserMetricsAction("Glanceables_Classroom_AssignmentPressed"));
+  RecordStudentAssignmentPressed(/*default_list=*/initial_list_selected);
+
   OpenUrl(url);
 }
 
 void ClassroomBubbleBaseView::OnHeaderIconPressed() {
-  base::RecordAction(
-      base::UserMetricsAction("Glanceables_Classroom_HeaderIconPressed"));
+  RecordClassroomHeaderIconPressed();
+
   OpenUrl(GURL(kClassroomHomePage));
 }
 
diff --git a/ash/system/unified/tasks_bubble_view.cc b/ash/system/unified/tasks_bubble_view.cc
index 8d62771a..83fa848 100644
--- a/ash/system/unified/tasks_bubble_view.cc
+++ b/ash/system/unified/tasks_bubble_view.cc
@@ -274,7 +274,7 @@
 
   const bool add_new_task_button_visible = (num_tasks_shown_ == 0);
   if (add_new_task_button_visible) {
-    RecordAddTaskButtonShown();
+    RecordAddTaskButtonShownForTT();
     if (tasks_combobox_model_->GetItemCount() == 1) {
       RecordAddTaskButtonUsageForNewTasksUsersTT(/*pressed=*/false);
     }
diff --git a/ash/webui/common/mojom/sea_pen.mojom b/ash/webui/common/mojom/sea_pen.mojom
index addc35e..98b8a48 100644
--- a/ash/webui/common/mojom/sea_pen.mojom
+++ b/ash/webui/common/mojom/sea_pen.mojom
@@ -23,6 +23,13 @@
   kDreamscapes = 6,
   kTranslucent = 7,
   kScifi = 8,
+  kVcBackgroundSimple = 100,
+  kVcBackgroundOffice = 101,
+  kVcBackgroundTerrainVc = 102,
+  kVcBackgroundCafe = 103,
+  kVcBackgroundArt = 104,
+  kVcBackgroundDreamscapesVc = 105,
+  kVcBackgroundCharacters = 106,
 };
 
 // A variable in the template text that can be mapped to multiple option values.
@@ -48,6 +55,22 @@
   kDreamscapesColors,
   kTranslucentItem,
   kTranslucentColor,
+  kVcBackgroundSimpleStyle,
+  kVcBackgroundSimpleTone,
+  kVcBackgroundOfficeStyle,
+  kVcBackgroundOfficeColor,
+  kVcBackgroundTerrainFeature,
+  kVcBackgroundTerrainColor,
+  kVcBackgroundCafeStyle,
+  kVcBackgroundCafeType,
+  kVcBackgroundArtFeature,
+  kVcBackgroundArtMovement,
+  kVcBackgroundDreamscapesObject,
+  kVcBackgroundDreamscapesMaterial,
+  kVcBackgroundDreamscapesColors,
+  kVcBackgroundCharactersColor,
+  kVcBackgroundCharactersSubjects,
+  kVcBackgroundCharactersBackground,
 };
 
 // The valid option values of each chip.
@@ -394,6 +417,222 @@
   kTranslucentColorMagenta,
   kTranslucentColorPeach,
   kTranslucentColorBlack,
+  // <simple_style>
+  kVcBackgroundSimpleStyleMinimal,
+  kVcBackgroundSimpleStyleZen,
+  kVcBackgroundSimpleStyleModern,
+  kVcBackgroundSimpleStyleMagical,
+  // <simple_tone>
+  kVcBackgroundSimpleToneNeutral,
+  kVcBackgroundSimpleToneDark,
+  kVcBackgroundSimpleToneLight,
+  // <office_style>
+  kVcBackgroundOfficeStyleModern,
+  kVcBackgroundOfficeStyleCreative,
+  kVcBackgroundOfficeStyleTraditional,
+  kVcBackgroundOfficeStyleFuturistic,
+  // <office_color>
+  kVcBackgroundOfficeColorNeutral,
+  kVcBackgroundOfficeColorDark,
+  kVcBackgroundOfficeColorColorful,
+  kVcBackgroundOfficeColorEarthy,
+  // <terrain_feature>
+  kVcBackgroundTerrainFeatureSaltLake,
+  kVcBackgroundTerrainFeatureRiver,
+  kVcBackgroundTerrainFeatureNorthernLights,
+  kVcBackgroundTerrainFeatureSandDunes,
+  kVcBackgroundTerrainFeatureClayHills,
+  kVcBackgroundTerrainFeatureSandyLagoon,
+  kVcBackgroundTerrainFeatureMountains,
+  kVcBackgroundTerrainFeatureBioluminescentBeach,
+  kVcBackgroundTerrainFeatureFireflyForest,
+  kVcBackgroundTerrainFeatureDifferentPlanet,
+  // <terrain_color>
+  kVcBackgroundTerrainColorPink,
+  kVcBackgroundTerrainColorTeal,
+  kVcBackgroundTerrainColorWhite,
+  kVcBackgroundTerrainColorPurple,
+  kVcBackgroundTerrainColorBlue,
+  kVcBackgroundTerrainColorYellow,
+  kVcBackgroundTerrainColorMaroonPink,
+  kVcBackgroundTerrainColorBluePurple,
+  kVcBackgroundTerrainColorPinkYellow,
+  kVcBackgroundTerrainColorBluePink,
+  // <cafe_style>
+  kVcBackgroundCafeStyleCozy,
+  kVcBackgroundCafeStyleNeutral,
+  kVcBackgroundCafeStyleDistressed,
+  kVcBackgroundCafeStyleClassic,
+  kVcBackgroundCafeStyleRomantic,
+  // <cafe_type>
+  kVcBackgroundCafeTypeCottage,
+  kVcBackgroundCafeTypeModern,
+  kVcBackgroundCafeTypeTeaHouse,
+  kVcBackgroundCafeTypeHighTea,
+  kVcBackgroundCafeTypeOutdoor,
+  // <art_feature>
+  kVcBackgroundArtFeatureCanyon,
+  kVcBackgroundArtFeatureMountain,
+  kVcBackgroundArtFeatureBeach,
+  kVcBackgroundArtFeatureCave,
+  kVcBackgroundArtFeatureCliff,
+  kVcBackgroundArtFeatureForest,
+  kVcBackgroundArtFeatureGlacier,
+  kVcBackgroundArtFeatureIsland,
+  kVcBackgroundArtFeatureJungle,
+  kVcBackgroundArtFeatureLake,
+  kVcBackgroundArtFeatureMeadow,
+  kVcBackgroundArtFeatureOcean,
+  kVcBackgroundArtFeatureRiver,
+  kVcBackgroundArtFeatureDune,
+  kVcBackgroundArtFeatureSwamp,
+  kVcBackgroundArtFeatureValley,
+  kVcBackgroundArtFeatureWaterfall,
+  kVcBackgroundArtFeatureField,
+  kVcBackgroundArtFeatureCityscape,
+  kVcBackgroundArtFeatureVillage,
+  kVcBackgroundArtFeatureAnime,
+  kVcBackgroundArtFeaturePixelArt,
+  kVcBackgroundArtFeatureCyberpunk,
+  // <art_movement>
+  kVcBackgroundArtMovementAvantGarde,
+  kVcBackgroundArtMovementRealist,
+  kVcBackgroundArtMovementExpressionist,
+  kVcBackgroundArtMovementImpressionist,
+  kVcBackgroundArtMovementPostImpressionist,
+  kVcBackgroundArtMovementArtNouveau,
+  kVcBackgroundArtMovementBaroque,
+  kVcBackgroundArtMovementBauhaus,
+  kVcBackgroundArtMovementClassicist,
+  kVcBackgroundArtMovementWatercolor,
+  kVcBackgroundArtMovementAbstract,
+  kVcBackgroundArtMovementPointillist,
+  kVcBackgroundArtMovementGraphicDesign,
+  kVcBackgroundArtMovementModernArt,
+  // <dreamscapes_object>
+  kVcBackgroundDreamscapesObjectBicycle,
+  kVcBackgroundDreamscapesObjectCastle,
+  kVcBackgroundDreamscapesObjectBuilding,
+  kVcBackgroundDreamscapesObjectBoat,
+  kVcBackgroundDreamscapesObjectLamp,
+  kVcBackgroundDreamscapesObjectTable,
+  kVcBackgroundDreamscapesObjectBridge,
+  kVcBackgroundDreamscapesObjectLighthouse,
+  kVcBackgroundDreamscapesObjectPagoda,
+  kVcBackgroundDreamscapesObjectPalace,
+  kVcBackgroundDreamscapesObjectTower,
+  kVcBackgroundDreamscapesObjectChair,
+  // <dreamscapes_material>
+  kVcBackgroundDreamscapesMaterialFlowers,
+  kVcBackgroundDreamscapesMaterialSilk,
+  kVcBackgroundDreamscapesMaterialFelt,
+  kVcBackgroundDreamscapesMaterialBurlap,
+  kVcBackgroundDreamscapesMaterialChiffon,
+  kVcBackgroundDreamscapesMaterialCotton,
+  kVcBackgroundDreamscapesMaterialFur,
+  kVcBackgroundDreamscapesMaterialLace,
+  kVcBackgroundDreamscapesMaterialLinen,
+  kVcBackgroundDreamscapesMaterialOrganza,
+  kVcBackgroundDreamscapesMaterialTulle,
+  kVcBackgroundDreamscapesMaterialWool,
+  kVcBackgroundDreamscapesMaterialYarn,
+  kVcBackgroundDreamscapesMaterialFleece,
+  kVcBackgroundDreamscapesMaterialClay,
+  kVcBackgroundDreamscapesMaterialStone,
+  kVcBackgroundDreamscapesMaterialWood,
+  kVcBackgroundDreamscapesMaterialAmethyst,
+  kVcBackgroundDreamscapesMaterialLapisLuzuli,
+  kVcBackgroundDreamscapesMaterialObsidian,
+  kVcBackgroundDreamscapesMaterialOpal,
+  kVcBackgroundDreamscapesMaterialSapphire,
+  // <dreamscapes_colors>
+  kVcBackgroundDreamscapesColorsPinkPurple,
+  kVcBackgroundDreamscapesColorsCoralTan,
+  kVcBackgroundDreamscapesColorsCreamOrange,
+  kVcBackgroundDreamscapesColorsBlueIndigo,
+  kVcBackgroundDreamscapesColorsGreenTeal,
+  kVcBackgroundDreamscapesColorsBurgundyMaroon,
+  kVcBackgroundDreamscapesColorsYellowTeal,
+  // <characters_color>
+  kVcBackgroundCharactersColorYellow,
+  kVcBackgroundCharactersColorPink,
+  kVcBackgroundCharactersColorRed,
+  kVcBackgroundCharactersColorBlue,
+  kVcBackgroundCharactersColorIndigo,
+  kVcBackgroundCharactersColorGreen,
+  kVcBackgroundCharactersColorCyan,
+  kVcBackgroundCharactersColorPurple,
+  kVcBackgroundCharactersColorBrown,
+  kVcBackgroundCharactersColorGold,
+  kVcBackgroundCharactersColorRust,
+  kVcBackgroundCharactersColorOlive,
+  kVcBackgroundCharactersColorGray,
+  kVcBackgroundCharactersColorWhite,
+  kVcBackgroundCharactersColorBeige,
+  kVcBackgroundCharactersColorMagenta,
+  kVcBackgroundCharactersColorNeonGreen,
+  kVcBackgroundCharactersColorLightBlue,
+  kVcBackgroundCharactersColorNeonPink,
+  kVcBackgroundCharactersColorCoralPink,
+  // <characters_subjects>
+  kVcBackgroundCharactersSubjectsLemons,
+  kVcBackgroundCharactersSubjectsFlowers,
+  kVcBackgroundCharactersSubjectsApples,
+  kVcBackgroundCharactersSubjectsCherries,
+  kVcBackgroundCharactersSubjectsOranges,
+  kVcBackgroundCharactersSubjectsPineapples,
+  kVcBackgroundCharactersSubjectsStrawberries,
+  kVcBackgroundCharactersSubjectsWatermelons,
+  kVcBackgroundCharactersSubjectsPotatoes,
+  kVcBackgroundCharactersSubjectsSushi,
+  kVcBackgroundCharactersSubjectsBaconAndEggs,
+  kVcBackgroundCharactersSubjectsPizza,
+  kVcBackgroundCharactersSubjectsHotDogs,
+  kVcBackgroundCharactersSubjectsHamburgers,
+  kVcBackgroundCharactersSubjectsRamen,
+  kVcBackgroundCharactersSubjectsTacos,
+  kVcBackgroundCharactersSubjectsBunnies,
+  kVcBackgroundCharactersSubjectsCats,
+  kVcBackgroundCharactersSubjectsDogs,
+  kVcBackgroundCharactersSubjectsKoalas,
+  kVcBackgroundCharactersSubjectsPandas,
+  kVcBackgroundCharactersSubjectsPenguins,
+  kVcBackgroundCharactersSubjectsPigs,
+  kVcBackgroundCharactersSubjectsSloths,
+  kVcBackgroundCharactersSubjectsPonies,
+  kVcBackgroundCharactersSubjectsElephants,
+  kVcBackgroundCharactersSubjectsFoxes,
+  kVcBackgroundCharactersSubjectsOwls,
+  kVcBackgroundCharactersSubjectsCrabs,
+  kVcBackgroundCharactersSubjectsBees,
+  kVcBackgroundCharactersSubjectsButterflies,
+  kVcBackgroundCharactersSubjectsBicycles,
+  kVcBackgroundCharactersSubjectsBoats,
+  kVcBackgroundCharactersSubjectsBooks,
+  kVcBackgroundCharactersSubjectsCutlery,
+  kVcBackgroundCharactersSubjectsUmbrellas,
+  kVcBackgroundCharactersSubjectsInstruments,
+  // <characters_background>
+  kVcBackgroundCharactersBackgroundPurple,
+  kVcBackgroundCharactersBackgroundBlue,
+  kVcBackgroundCharactersBackgroundIndigo,
+  kVcBackgroundCharactersBackgroundGreen,
+  kVcBackgroundCharactersBackgroundCyan,
+  kVcBackgroundCharactersBackgroundBrown,
+  kVcBackgroundCharactersBackgroundGold,
+  kVcBackgroundCharactersBackgroundRed,
+  kVcBackgroundCharactersBackgroundRust,
+  kVcBackgroundCharactersBackgroundOlive,
+  kVcBackgroundCharactersBackgroundPink,
+  kVcBackgroundCharactersBackgroundGray,
+  kVcBackgroundCharactersBackgroundYellow,
+  kVcBackgroundCharactersBackgroundWhite,
+  kVcBackgroundCharactersBackgroundBeige,
+  kVcBackgroundCharactersBackgroundMagenta,
+  kVcBackgroundCharactersBackgroundNeonGreen,
+  kVcBackgroundCharactersBackgroundLightBlue,
+  kVcBackgroundCharactersBackgroundNeonPink,
+  kVcBackgroundCharactersBackgroundCoralPink,
 };
 // End of generated code.
 
@@ -436,6 +675,12 @@
   SeaPenUserVisibleQuery user_visible_query;
 };
 
+// The metadata for the feedback dialog
+struct SeaPenFeedbackMetadata {
+  bool is_positive;
+  string log_id;
+};
+
 // A text or template query for constructing a Manta request.
 union SeaPenQuery {
   // Set if the query is from text input.
@@ -499,4 +744,13 @@
 
     // Deletes the selected Sea Pen image from Sea Pen directory.
     DeleteRecentSeaPenImage(mojo_base.mojom.FilePath path) => (bool success);
+
+    // Pops up a feedback dialog when user clicks feedback buttons.
+    OpenFeedbackDialog(SeaPenFeedbackMetadata metadata);
+
+    // Determines whether to show the reviewing Sea Pen terms of service dialog.
+    ShouldShowSeaPenTermsOfServiceDialog() => (bool should_show_dialog);
+
+    // Called when the user accepts the terms of service for Sea Pen wallpaper.
+    HandleSeaPenTermsOfServiceAccepted();
 };
diff --git a/ash/webui/common/resources/BUILD.gn b/ash/webui/common/resources/BUILD.gn
index 357b861..bcc9add 100644
--- a/ash/webui/common/resources/BUILD.gn
+++ b/ash/webui/common/resources/BUILD.gn
@@ -148,6 +148,7 @@
   "sea_pen/sea_pen_router_element.ts",
   "sea_pen/sea_pen_template_query_element.ts",
   "sea_pen/sea_pen_templates_element.ts",
+  "sea_pen/sea_pen_terms_of_service_dialog_element.ts",
   "sea_pen/surface_effects/sparkle_placeholder.ts",
   "shortcut_input_ui/shortcut_input_key.ts",
   "shortcut_input_ui/shortcut_input.ts",
@@ -399,6 +400,11 @@
     "sea_pen/sea_pen_images/sea_pen_terrain.jpg",
     "sea_pen/sea_pen_images/sea_pen_tile.jpg",
     "sea_pen/sea_pen_images/sea_pen_translucent.jpg",
+    "sea_pen/sea_pen_images/sea_pen_dreamscapes_vc.jpg",
+    "sea_pen/sea_pen_images/sea_pen_cafe.jpg",
+    "sea_pen/sea_pen_images/sea_pen_office.jpg",
+    "sea_pen/sea_pen_images/sea_pen_simple.jpg",
+    "sea_pen/sea_pen_images/sea_pen_terrain_vc.jpg",
     "quick_unlock/fingerprint_enrollment.json",
     "quick_unlock/fingerprint_check.json",
   ]
@@ -528,6 +534,7 @@
   "sea_pen/sea_pen_router_element.html.js",
   "sea_pen/sea_pen_template_query_element.html.js",
   "sea_pen/sea_pen_templates_element.html.js",
+  "sea_pen/sea_pen_terms_of_service_dialog_element.html.js",
   "sea_pen/surface_effects/sparkle_placeholder.html.js",
   "shortcut_input_ui/shortcut_input_key.html.js",
   "shortcut_input_ui/icons.html.js",
diff --git a/ash/webui/common/resources/sea_pen/constants.ts b/ash/webui/common/resources/sea_pen/constants.ts
index d11b790e..d7bf455 100644
--- a/ash/webui/common/resources/sea_pen/constants.ts
+++ b/ash/webui/common/resources/sea_pen/constants.ts
@@ -38,7 +38,7 @@
 export function getSeaPenTemplates(): SeaPenTemplate[] {
   // Generated by sea_pen_client_generator.py, do not edit.
   // TODO(b/318565684): Move generated code to a separate file.
-  const templates: SeaPenTemplate[] = [
+  const WALLPAPER_TEMPLATES: SeaPenTemplate[] = [
     {
       id: SeaPenTemplateId.kFlower,
       title: 'Airbrushed',
@@ -1540,7 +1540,1040 @@
       ]),
     },
   ];
+  const VC_BACKGROUND_TEMPLATES: SeaPenTemplate[] = [
+    {
+      id: SeaPenTemplateId.kVcBackgroundSimple,
+      title: 'Simple',
+      text:
+          `A <${SeaPenTemplateChip.kVcBackgroundSimpleStyle}> bookshelf in a <${
+              SeaPenTemplateChip.kVcBackgroundSimpleTone}> room`,
+      preview: [{
+        url:
+            'chrome://resources/ash/common/sea_pen/sea_pen_images/sea_pen_simple.jpg',
+      }],
+      options: new Map([
+        [
+          SeaPenTemplateChip.kVcBackgroundSimpleStyle,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundSimpleStyleMinimal,
+              translation: 'minimal',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundSimpleStyleZen,
+              translation: 'zen',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundSimpleStyleModern,
+              translation: 'modern',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundSimpleStyleMagical,
+              translation: 'magical',
+            },
+          ],
+        ],
+        [
+          SeaPenTemplateChip.kVcBackgroundSimpleTone,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundSimpleToneNeutral,
+              translation: 'neutral',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundSimpleToneDark,
+              translation: 'dark',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundSimpleToneLight,
+              translation: 'light',
+            },
+          ],
+        ],
+      ]),
+    },
+    {
+      id: SeaPenTemplateId.kVcBackgroundOffice,
+      title: 'Stylish office',
+      text: `A <${SeaPenTemplateChip.kVcBackgroundOfficeStyle}> office with <${
+          SeaPenTemplateChip.kVcBackgroundOfficeColor}> tones`,
+      preview: [{
+        url:
+            'chrome://resources/ash/common/sea_pen/sea_pen_images/sea_pen_office.jpg',
+      }],
+      options: new Map([
+        [
+          SeaPenTemplateChip.kVcBackgroundOfficeStyle,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundOfficeStyleModern,
+              translation: 'modern',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundOfficeStyleCreative,
+              translation: 'creative',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundOfficeStyleTraditional,
+              translation: 'traditional',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundOfficeStyleFuturistic,
+              translation: 'futuristic',
+            },
+          ],
+        ],
+        [
+          SeaPenTemplateChip.kVcBackgroundOfficeColor,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundOfficeColorNeutral,
+              translation: 'neutral',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundOfficeColorDark,
+              translation: 'dark',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundOfficeColorColorful,
+              translation: 'colorful',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundOfficeColorEarthy,
+              translation: 'earthy',
+            },
+          ],
+        ],
+      ]),
+    },
+    {
+      id: SeaPenTemplateId.kVcBackgroundTerrainVc,
+      title: 'Terrain',
+      text:
+          `<${SeaPenTemplateChip.kVcBackgroundTerrainFeature}> in shades of <${
+              SeaPenTemplateChip.kVcBackgroundTerrainColor}>`,
+      preview: [{
+        url:
+            'chrome://resources/ash/common/sea_pen/sea_pen_images/sea_pen_terrain_vc.jpg',
+      }],
+      options: new Map([
+        [
+          SeaPenTemplateChip.kVcBackgroundTerrainFeature,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainFeatureSaltLake,
+              translation: 'salt lake',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainFeatureRiver,
+              translation: 'glacial river',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundTerrainFeatureNorthernLights,
+              translation: 'northern lights',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainFeatureSandDunes,
+              translation: 'sand dunes',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainFeatureClayHills,
+              translation: 'clay hills',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundTerrainFeatureSandyLagoon,
+              translation: 'sandy lagoon',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainFeatureMountains,
+              translation: 'mountains',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundTerrainFeatureBioluminescentBeach,
+              translation: 'bioluminescent beach',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundTerrainFeatureFireflyForest,
+              translation: 'firefly forest',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundTerrainFeatureDifferentPlanet,
+              translation: 'different planet',
+            },
+          ],
+        ],
+        [
+          SeaPenTemplateChip.kVcBackgroundTerrainColor,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorPink,
+              translation: 'pink',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorTeal,
+              translation: 'teal',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorWhite,
+              translation: 'white',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorPurple,
+              translation: 'purple',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorBlue,
+              translation: 'blue',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorYellow,
+              translation: 'yellow',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorMaroonPink,
+              translation: 'maroon and pink',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorBluePurple,
+              translation: 'blue and purple',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorPinkYellow,
+              translation: 'pink and yellow',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundTerrainColorBluePink,
+              translation: 'blue and pink',
+            },
+          ],
+        ],
+      ]),
+    },
+    {
+      id: SeaPenTemplateId.kVcBackgroundCafe,
+      title: 'Cafe',
+      text: `A <${SeaPenTemplateChip.kVcBackgroundCafeStyle}> <${
+          SeaPenTemplateChip.kVcBackgroundCafeType}> cafe`,
+      preview: [{
+        url:
+            'chrome://resources/ash/common/sea_pen/sea_pen_images/sea_pen_cafe.jpg',
+      }],
+      options: new Map([
+        [
+          SeaPenTemplateChip.kVcBackgroundCafeStyle,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeStyleCozy,
+              translation: 'cozy',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeStyleNeutral,
+              translation: 'neutral',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeStyleDistressed,
+              translation: 'distressed',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeStyleClassic,
+              translation: 'classic',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeStyleRomantic,
+              translation: 'romantic',
+            },
+          ],
+        ],
+        [
+          SeaPenTemplateChip.kVcBackgroundCafeType,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeTypeCottage,
+              translation: 'cottage',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeTypeModern,
+              translation: 'modern',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeTypeTeaHouse,
+              translation: 'tea house',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeTypeHighTea,
+              translation: 'high tea',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCafeTypeOutdoor,
+              translation: 'outdoor',
+            },
+          ],
+        ],
+      ]),
+    },
+    {
+      id: SeaPenTemplateId.kVcBackgroundArt,
+      title: 'Classic art',
+      text: `A painting of a <${
+          SeaPenTemplateChip.kVcBackgroundArtFeature}> in the <${
+          SeaPenTemplateChip.kVcBackgroundArtMovement}> style`,
+      preview: [{
+        url:
+            'chrome://resources/ash/common/sea_pen/sea_pen_images/sea_pen_art.jpg',
+      }],
+      options: new Map([
+        [
+          SeaPenTemplateChip.kVcBackgroundArtFeature,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureCanyon,
+              translation: 'canyon',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureMountain,
+              translation: 'mountain',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureBeach,
+              translation: 'beach',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureCave,
+              translation: 'cave',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureCliff,
+              translation: 'cliff',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureForest,
+              translation: 'forest',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureGlacier,
+              translation: 'glacier',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureIsland,
+              translation: 'tropical island',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureJungle,
+              translation: 'jungle',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureLake,
+              translation: 'lake',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureMeadow,
+              translation: 'meadow',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureOcean,
+              translation: 'vast ocean',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureRiver,
+              translation: 'river',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureDune,
+              translation: 'sand dune',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureSwamp,
+              translation: 'swamp',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureValley,
+              translation: 'valley',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureWaterfall,
+              translation: 'waterfall',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureField,
+              translation: 'field of flowers ',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureCityscape,
+              translation: 'cityscape',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureVillage,
+              translation: 'village',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureAnime,
+              translation: 'anime',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeaturePixelArt,
+              translation: 'pixel art',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtFeatureCyberpunk,
+              translation: 'cyberpunk',
+            },
+          ],
+        ],
+        [
+          SeaPenTemplateChip.kVcBackgroundArtMovement,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementAvantGarde,
+              translation: 'avant-garde',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementRealist,
+              translation: 'realist',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementExpressionist,
+              translation: 'expressionist',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementImpressionist,
+              translation: 'impressionist',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundArtMovementPostImpressionist,
+              translation: 'post-impressionist',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementArtNouveau,
+              translation: 'art nouveau',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementBaroque,
+              translation: 'baroque',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementBauhaus,
+              translation: 'bauhaus',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementClassicist,
+              translation: 'classicist',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementWatercolor,
+              translation: 'watercolor',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementAbstract,
+              translation: 'abstract',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementPointillist,
+              translation: 'pointillist',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementGraphicDesign,
+              translation: 'graphic design',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundArtMovementModernArt,
+              translation: 'modern art',
+            },
+          ],
+        ],
+      ]),
+    },
+    {
+      id: SeaPenTemplateId.kVcBackgroundDreamscapesVc,
+      title: 'Dreamscapes',
+      text: `A surreal <${
+          SeaPenTemplateChip.kVcBackgroundDreamscapesObject}> made of <${
+          SeaPenTemplateChip.kVcBackgroundDreamscapesMaterial}> in <${
+          SeaPenTemplateChip.kVcBackgroundDreamscapesColors}>`,
+      preview: [{
+        url:
+            'chrome://resources/ash/common/sea_pen/sea_pen_images/sea_pen_dreamscapes_vc.jpg',
+      }],
+      options: new Map([
+        [
+          SeaPenTemplateChip.kVcBackgroundDreamscapesObject,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectBicycle,
+              translation: 'bicycle',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectCastle,
+              translation: 'castle',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesObjectBuilding,
+              translation: 'building',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectBoat,
+              translation: 'boat',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectLamp,
+              translation: 'lamp',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectTable,
+              translation: 'table',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectBridge,
+              translation: 'bridge',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesObjectLighthouse,
+              translation: 'lighthouse',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectPagoda,
+              translation: 'pagoda',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectPalace,
+              translation: 'palace',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectTower,
+              translation: 'tower',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesObjectChair,
+              translation: 'chair',
+            },
+          ],
+        ],
+        [
+          SeaPenTemplateChip.kVcBackgroundDreamscapesMaterial,
+          [
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialFlowers,
+              translation: 'flowers',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialSilk,
+              translation: 'silk',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialFelt,
+              translation: 'felt',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialBurlap,
+              translation: 'burlap',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialChiffon,
+              translation: 'chiffon',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialCotton,
+              translation: 'cotton',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialFur,
+              translation: 'fur',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialLace,
+              translation: 'lace',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialLinen,
+              translation: 'linen',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialOrganza,
+              translation: 'organza',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialTulle,
+              translation: 'tulle',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialWool,
+              translation: 'wool',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialYarn,
+              translation: 'yarn',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialFleece,
+              translation: 'fleece',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialClay,
+              translation: 'clay',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialStone,
+              translation: 'stone',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialWood,
+              translation: 'wood',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialAmethyst,
+              translation: 'amethyst',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundDreamscapesMaterialLapisLuzuli,
+              translation: 'lapis luzuli',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialObsidian,
+              translation: 'obsidian',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialOpal,
+              translation: 'opal',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesMaterialSapphire,
+              translation: 'sapphire',
+            },
+          ],
+        ],
+        [
+          SeaPenTemplateChip.kVcBackgroundDreamscapesColors,
+          [
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesColorsPinkPurple,
+              translation: 'pink and purple',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesColorsCoralTan,
+              translation: 'coral and tan',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundDreamscapesColorsCreamOrange,
+              translation: 'cream and orange',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesColorsBlueIndigo,
+              translation: 'blue and indigo',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesColorsGreenTeal,
+              translation: 'green and teal',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundDreamscapesColorsBurgundyMaroon,
+              translation: 'burgundy and maroon',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundDreamscapesColorsYellowTeal,
+              translation: 'yellow and teal',
+            },
+          ],
+        ],
+      ]),
+    },
+    {
+      id: SeaPenTemplateId.kVcBackgroundCharacters,
+      title: 'Characters',
+      text: `<${SeaPenTemplateChip.kVcBackgroundCharactersColor}> <${
+          SeaPenTemplateChip.kVcBackgroundCharactersSubjects}> on a <${
+          SeaPenTemplateChip.kVcBackgroundCharactersBackground}> background`,
+      preview: [{
+        url:
+            'chrome://resources/ash/common/sea_pen/sea_pen_images/sea_pen_characters.jpg',
+      }],
+      options: new Map([
+        [
+          SeaPenTemplateChip.kVcBackgroundCharactersColor,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorYellow,
+              translation: 'yellow',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorPink,
+              translation: 'pink',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorRed,
+              translation: 'red',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorBlue,
+              translation: 'blue',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorIndigo,
+              translation: 'indigo',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorGreen,
+              translation: 'green',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorCyan,
+              translation: 'cyan',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorPurple,
+              translation: 'purple',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorBrown,
+              translation: 'brown',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorGold,
+              translation: 'gold',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorRust,
+              translation: 'rust',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorOlive,
+              translation: 'olive',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorGray,
+              translation: 'gray',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorWhite,
+              translation: 'white',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorBeige,
+              translation: 'beige',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorMagenta,
+              translation: 'magenta',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorNeonGreen,
+              translation: 'neon green',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorLightBlue,
+              translation: 'light blue',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorNeonPink,
+              translation: 'neon pink',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersColorCoralPink,
+              translation: 'coral pink',
+            },
+          ],
+        ],
+        [
+          SeaPenTemplateChip.kVcBackgroundCharactersSubjects,
+          [
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsLemons,
+              translation: 'lemons',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsFlowers,
+              translation: 'flowers',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsApples,
+              translation: 'apples',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsCherries,
+              translation: 'cherries',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsOranges,
+              translation: 'oranges',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersSubjectsPineapples,
+              translation: 'pineapples',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersSubjectsStrawberries,
+              translation: 'strawberries',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersSubjectsWatermelons,
+              translation: 'watermelons',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsPotatoes,
+              translation: 'potatoes',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsSushi,
+              translation: 'sushi',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersSubjectsBaconAndEggs,
+              translation: 'bacon and eggs',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsPizza,
+              translation: 'pizza',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsHotDogs,
+              translation: 'hot dogs',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersSubjectsHamburgers,
+              translation: 'hamburgers',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsRamen,
+              translation: 'ramen',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsTacos,
+              translation: 'tacos',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsBunnies,
+              translation: 'bunnies',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsCats,
+              translation: 'cats',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsDogs,
+              translation: 'dogs',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsKoalas,
+              translation: 'koalas',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsPandas,
+              translation: 'pandas',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsPenguins,
+              translation: 'penguins',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsPigs,
+              translation: 'pigs',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsSloths,
+              translation: 'sloths',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsPonies,
+              translation: 'ponies',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsElephants,
+              translation: 'elephants',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsFoxes,
+              translation: 'foxes',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsOwls,
+              translation: 'owls',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsCrabs,
+              translation: 'crabs',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsBees,
+              translation: 'bees',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersSubjectsButterflies,
+              translation: 'butterflies',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsBicycles,
+              translation: 'bicycles',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsBoats,
+              translation: 'boats',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersSubjectsBooks,
+              translation: 'books',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsCutlery,
+              translation: 'cutlery',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersSubjectsUmbrellas,
+              translation: 'umbrellas',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersSubjectsInstruments,
+              translation: 'instruments',
+            },
+          ],
+        ],
+        [
+          SeaPenTemplateChip.kVcBackgroundCharactersBackground,
+          [
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersBackgroundPurple,
+              translation: 'purple',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersBackgroundBlue,
+              translation: 'blue',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersBackgroundIndigo,
+              translation: 'indigo',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersBackgroundGreen,
+              translation: 'green',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersBackgroundCyan,
+              translation: 'cyan',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersBackgroundBrown,
+              translation: 'brown',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersBackgroundGold,
+              translation: 'gold',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersBackgroundRed,
+              translation: 'red',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersBackgroundRust,
+              translation: 'rust',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersBackgroundOlive,
+              translation: 'olive',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersBackgroundPink,
+              translation: 'pink',
+            },
+            {
+              value: SeaPenTemplateOption.kVcBackgroundCharactersBackgroundGray,
+              translation: 'gray',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersBackgroundYellow,
+              translation: 'yellow',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersBackgroundWhite,
+              translation: 'white',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersBackgroundBeige,
+              translation: 'beige',
+            },
+            {
+              value:
+                  SeaPenTemplateOption.kVcBackgroundCharactersBackgroundMagenta,
+              translation: 'magenta',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersBackgroundNeonGreen,
+              translation: 'neon green',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersBackgroundLightBlue,
+              translation: 'light blue',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersBackgroundNeonPink,
+              translation: 'neon pink',
+            },
+            {
+              value: SeaPenTemplateOption
+                         .kVcBackgroundCharactersBackgroundCoralPink,
+              translation: 'coral pink',
+            },
+          ],
+        ],
+      ]),
+    },
+  ];
   // End of generated code.
+
+  const templates = window.location.origin === 'chrome://personalization' ?
+      WALLPAPER_TEMPLATES :
+      VC_BACKGROUND_TEMPLATES;
+
   if (isSeaPenTextInputEnabled()) {
     templates.push({
       preview: [{
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_actions.ts b/ash/webui/common/resources/sea_pen/sea_pen_actions.ts
index cdb9a2da..f811677 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_actions.ts
+++ b/ash/webui/common/resources/sea_pen/sea_pen_actions.ts
@@ -2,11 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {MantaStatusCode, SeaPenQuery, SeaPenThumbnail} from './sea_pen.mojom-webui.js';
+import {assert} from 'chrome://resources/js/assert.js';
 import {Action} from 'chrome://resources/js/store.js';
 import {FilePath} from 'chrome://resources/mojo/mojo/public/mojom/base/file_path.mojom-webui.js';
 
 import {RecentSeaPenData} from './constants.js';
+import {MantaStatusCode, SeaPenQuery, SeaPenThumbnail} from './sea_pen.mojom-webui.js';
 
 /**
  * @fileoverview defines the actions to change SeaPen state.
@@ -28,6 +29,8 @@
   SET_RECENT_SEA_PEN_IMAGES = 'set_recent_sea_pen_images',
   SET_RECENT_SEA_PEN_IMAGE_DATA = 'set_recent_sea_pen_image_data',
   SET_SELECTED_RECENT_SEA_PEN_IMAGE = 'set_selected_recent_sea_pen_image',
+  SET_SHOULD_SHOW_SEA_PEN_TERMS_OF_SERVICE_DIALOG =
+      'set_should_show_sea_pen_terms_of_service_dialog',
 }
 
 export type SeaPenActions = BeginSearchSeaPenThumbnailsAction|
@@ -37,7 +40,8 @@
     SetThumbnailResponseStatusCodeAction|SetSeaPenThumbnailsAction|
     SetRecentSeaPenImagesAction|SetRecentSeaPenImageDataAction|
     SetSelectedRecentSeaPenImageAction|BeginSelectSeaPenThumbnailAction|
-    EndSelectSeaPenThumbnailAction;
+    EndSelectSeaPenThumbnailAction|
+    SetShouldShowSeaPenTermsOfServiceDialogAction;
 
 export interface BeginSearchSeaPenThumbnailsAction extends Action {
   name: SeaPenActionName.BEGIN_SEARCH_SEA_PEN_THUMBNAILS;
@@ -245,3 +249,21 @@
 export function clearSeaPenThumbnailsAction(): ClearSeaPenThumbnailsAction {
   return {name: SeaPenActionName.CLEAR_SEA_PEN_THUMBNAILS};
 }
+
+export interface SetShouldShowSeaPenTermsOfServiceDialogAction extends Action {
+  name: SeaPenActionName.SET_SHOULD_SHOW_SEA_PEN_TERMS_OF_SERVICE_DIALOG;
+  shouldShowDialog: boolean;
+}
+
+/**
+ * Sets the boolean that determines whether to show the Sea Pen terms of service
+ * dialog.
+ */
+export function setShouldShowSeaPenTermsOfServiceDialogAction(
+    shouldShowDialog: boolean): SetShouldShowSeaPenTermsOfServiceDialogAction {
+  assert(typeof shouldShowDialog === 'boolean');
+  return {
+    name: SeaPenActionName.SET_SHOULD_SHOW_SEA_PEN_TERMS_OF_SERVICE_DIALOG,
+    shouldShowDialog,
+  };
+}
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_controller.ts b/ash/webui/common/resources/sea_pen/sea_pen_controller.ts
index 025ab06e..1fbb1708b 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_controller.ts
+++ b/ash/webui/common/resources/sea_pen/sea_pen_controller.ts
@@ -2,12 +2,12 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-import {MantaStatusCode, SeaPenProviderInterface, SeaPenQuery, SeaPenThumbnail} from './sea_pen.mojom-webui.js';
-import {isNonEmptyArray, isNonEmptyFilePath} from './sea_pen_utils.js';
 import {FilePath} from 'chrome://resources/mojo/mojo/public/mojom/base/file_path.mojom-webui.js';
 
+import {MantaStatusCode, SeaPenFeedbackMetadata, SeaPenProviderInterface, SeaPenQuery, SeaPenThumbnail} from './sea_pen.mojom-webui.js';
 import * as seaPenAction from './sea_pen_actions.js';
 import {SeaPenStoreInterface} from './sea_pen_store.js';
+import {isNonEmptyArray, isNonEmptyFilePath} from './sea_pen_utils.js';
 
 export async function selectRecentSeaPenImage(
     image: FilePath, provider: SeaPenProviderInterface,
@@ -158,3 +158,34 @@
         }));
   }
 }
+
+export function openFeedbackDialog(
+    metadata: SeaPenFeedbackMetadata, provider: SeaPenProviderInterface) {
+  provider.openFeedbackDialog(metadata);
+}
+
+export async function getShouldShowSeaPenTermsOfServiceDialog(
+    provider: SeaPenProviderInterface,
+    store: SeaPenStoreInterface): Promise<void> {
+  const {shouldShowDialog} =
+      await provider.shouldShowSeaPenTermsOfServiceDialog();
+
+  // Dispatch action to set the should show dialog boolean.
+  store.dispatch(seaPenAction.setShouldShowSeaPenTermsOfServiceDialogAction(
+      shouldShowDialog));
+}
+
+export async function acceptSeaPenTermsOfService(
+    provider: SeaPenProviderInterface,
+    store: SeaPenStoreInterface): Promise<void> {
+  if (!store.data.shouldShowSeaPenTermsOfServiceDialog) {
+    // Do nothing if the terms are already accepted;
+    return;
+  }
+
+  await provider.handleSeaPenTermsOfServiceAccepted();
+
+  // Dispatch action to set the should show dialog boolean.
+  store.dispatch(
+      seaPenAction.setShouldShowSeaPenTermsOfServiceDialogAction(false));
+}
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_cafe.jpg b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_cafe.jpg
new file mode 100644
index 0000000..5574fea
--- /dev/null
+++ b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_cafe.jpg
Binary files differ
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_dreamscapes_vc.jpg b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_dreamscapes_vc.jpg
new file mode 100644
index 0000000..26584f76
--- /dev/null
+++ b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_dreamscapes_vc.jpg
Binary files differ
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_office.jpg b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_office.jpg
new file mode 100644
index 0000000..dd6cc59
--- /dev/null
+++ b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_office.jpg
Binary files differ
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_simple.jpg b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_simple.jpg
new file mode 100644
index 0000000..1e18088
--- /dev/null
+++ b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_simple.jpg
Binary files differ
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_terrain_vc.jpg b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_terrain_vc.jpg
new file mode 100644
index 0000000..e48f040
--- /dev/null
+++ b/ash/webui/common/resources/sea_pen/sea_pen_images/sea_pen_terrain_vc.jpg
Binary files differ
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_images_element.html b/ash/webui/common/resources/sea_pen/sea_pen_images_element.html
index a00f269..63b5e0d 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_images_element.html
+++ b/ash/webui/common/resources/sea_pen/sea_pen_images_element.html
@@ -153,7 +153,7 @@
       </template>
     </iron-list>
   </template>
-  <template is="dom-if" if="[[shouldShowImageThumbnails_(thumbnailsLoading_, thumbnails_)]]">
+  <template is="dom-if" if="[[shouldShowImageThumbnails_(thumbnailsLoading_, thumbnails_)]]" restamp>
     <iron-list id="grid"
         items="[[thumbnails_]]"
         grid
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_images_element.ts b/ash/webui/common/resources/sea_pen/sea_pen_images_element.ts
index 13afd53..09a32db 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_images_element.ts
+++ b/ash/webui/common/resources/sea_pen/sea_pen_images_element.ts
@@ -22,7 +22,7 @@
 
 import {Query} from './constants.js';
 import {MantaStatusCode, SeaPenTemplateId, SeaPenThumbnail} from './sea_pen.mojom-webui.js';
-import {clearSeaPenThumbnails, selectSeaPenWallpaper} from './sea_pen_controller.js';
+import {clearSeaPenThumbnails, openFeedbackDialog, selectSeaPenWallpaper} from './sea_pen_controller.js';
 import {getTemplate} from './sea_pen_images_element.html.js';
 import {getSeaPenProvider} from './sea_pen_interface_provider.js';
 import {WithSeaPenStore} from './sea_pen_store.js';
@@ -178,6 +178,8 @@
     return !!thumbnail && thumbnail === pendingSelected;
   }
 
+  // Get the name of the template for metrics. Must match histograms.xml
+  // SeaPenTemplateName.
   private getTemplateNameFromId_(templateId: SeaPenTemplateId|Query): string {
     switch (templateId) {
       case SeaPenTemplateId.kFlower:
@@ -191,13 +193,29 @@
       case SeaPenTemplateId.kCharacters:
         return 'Characters';
       case SeaPenTemplateId.kTerrain:
-        return 'Terrain';
+        return 'Landscape';
       case SeaPenTemplateId.kCurious:
         return 'Curious';
       case SeaPenTemplateId.kDreamscapes:
         return 'Dreamscapes';
       case SeaPenTemplateId.kTranslucent:
         return 'Translucent';
+
+      case SeaPenTemplateId.kVcBackgroundSimple:
+        return 'VcBackgroundSimple';
+      case SeaPenTemplateId.kVcBackgroundOffice:
+        return 'VcBackgroundOffice';
+      case SeaPenTemplateId.kVcBackgroundTerrainVc:
+        return 'VcBackgroundTerrain';
+      case SeaPenTemplateId.kVcBackgroundCafe:
+        return 'VcBackgroundCafe';
+      case SeaPenTemplateId.kVcBackgroundArt:
+        return 'VcBackgroundArt';
+      case SeaPenTemplateId.kVcBackgroundDreamscapesVc:
+        return 'VcBackgroundDreamscapes';
+      case SeaPenTemplateId.kVcBackgroundCharacters:
+        return 'VcBackgroundCharacters';
+
       case 'Query':
         return 'Query';
     }
@@ -206,8 +224,13 @@
   private onSelectedFeedbackChanged_(event:
                                          CustomEvent<{isThumbsUp: boolean}>) {
     const isThumbsUp = event.detail.isThumbsUp;
-    logSeaPenTemplateFeedback(
-        this.getTemplateNameFromId_(this.templateId), isThumbsUp);
+    const templateName = this.getTemplateNameFromId_(this.templateId);
+    logSeaPenTemplateFeedback(templateName, isThumbsUp);
+    const metadata = {
+      isPositive: isThumbsUp,
+      logId: templateName,
+    };
+    openFeedbackDialog(metadata, getSeaPenProvider());
   }
 }
 
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_recent_wallpapers_element.html b/ash/webui/common/resources/sea_pen/sea_pen_recent_wallpapers_element.html
index ec16bdbd..9a9475d8 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_recent_wallpapers_element.html
+++ b/ash/webui/common/resources/sea_pen/sea_pen_recent_wallpapers_element.html
@@ -89,7 +89,8 @@
     margin-inline-end: 8px;
   }
 
-  .more-like-this-option {
+  .more-like-this-option,
+  .wallpaper-info-option {
     display: none;
   }
 </style>
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_recent_wallpapers_element.ts b/ash/webui/common/resources/sea_pen/sea_pen_recent_wallpapers_element.ts
index 8076197..88a744a3 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_recent_wallpapers_element.ts
+++ b/ash/webui/common/resources/sea_pen/sea_pen_recent_wallpapers_element.ts
@@ -269,8 +269,8 @@
   }
 
   private shouldShowWallpaperInfoDialog_(
-      i: number, currentShowWallpaperInfoDialog: number|null): boolean {
-    return currentShowWallpaperInfoDialog === i;
+      _i: number, _currentShowWallpaperInfoDialog: number|null): boolean {
+    return false;
   }
 
   private onCloseDialog_() {
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_reducer.ts b/ash/webui/common/resources/sea_pen/sea_pen_reducer.ts
index 4f1f1da7..c0a4d9f 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_reducer.ts
+++ b/ash/webui/common/resources/sea_pen/sea_pen_reducer.ts
@@ -196,6 +196,16 @@
   }
 }
 
+function shouldShowSeaPenTermsOfServiceDialogReducer(
+    state: boolean, action: SeaPenActions): boolean {
+  switch (action.name) {
+    case SeaPenActionName.SET_SHOULD_SHOW_SEA_PEN_TERMS_OF_SERVICE_DIALOG:
+      return action.shouldShowDialog;
+    default:
+      return state;
+  }
+}
+
 export function seaPenReducer(
     state: SeaPenState, action: SeaPenActions): SeaPenState {
   const newState = {
@@ -208,6 +218,9 @@
     currentSelected: currentSelectedReducer(state.currentSelected, action),
     pendingSelected:
         pendingSelectedReducer(state.pendingSelected, action, state),
+    shouldShowSeaPenTermsOfServiceDialog:
+        shouldShowSeaPenTermsOfServiceDialogReducer(
+            state.shouldShowSeaPenTermsOfServiceDialog, action),
   };
   return newState;
 }
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_router_element.html b/ash/webui/common/resources/sea_pen/sea_pen_router_element.html
index 786afb35..55d164b 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_router_element.html
+++ b/ash/webui/common/resources/sea_pen/sea_pen_router_element.html
@@ -83,6 +83,11 @@
       </sea-pen-images>
     </template>
   </div>
+  <template is="dom-if" if="[[showSeaPenTermsOfServiceDialog_]]" restamp>
+    <sea-pen-terms-of-service-dialog
+        on-sea-pen-terms-dialog-accept="onAcceptSeaPenTerms_"
+    </sea-pen-terms-of-service-dialog>
+  </template>
   <!-- Prevent the right margin from collapsing when window gets very narrow -->
   <div class="rightspacertop"></div>
   <div class="rightspacerbottom"></div>
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_router_element.ts b/ash/webui/common/resources/sea_pen/sea_pen_router_element.ts
index 420ae78d..154ddad6 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_router_element.ts
+++ b/ash/webui/common/resources/sea_pen/sea_pen_router_element.ts
@@ -2,6 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
+import 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js';
 import 'chrome://resources/polymer/v3_0/iron-location/iron-location.js';
 import 'chrome://resources/polymer/v3_0/iron-location/iron-query-params.js';
 import './sea_pen_images_element.js';
@@ -9,14 +10,17 @@
 import './sea_pen_recent_wallpapers_element.js';
 import './sea_pen_template_query_element.js';
 import './sea_pen_templates_element.js';
+import './sea_pen_terms_of_service_dialog_element.js';
 
 import {assert} from 'chrome://resources/js/assert.js';
-import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
 
 import {Query} from './constants.js';
 import {isSeaPenEnabled, isSeaPenTextInputEnabled} from './load_time_booleans.js';
 import {SeaPenTemplateId} from './sea_pen.mojom-webui.js';
+import {acceptSeaPenTermsOfService, getShouldShowSeaPenTermsOfServiceDialog} from './sea_pen_controller.js';
+import {getSeaPenProvider} from './sea_pen_interface_provider.js';
 import {getTemplate} from './sea_pen_router_element.html.js';
+import {WithSeaPenStore} from './sea_pen_store.js';
 
 export enum SeaPenPaths {
   ROOT = '',
@@ -29,7 +33,7 @@
 
 let instance: SeaPenRouterElement|null = null;
 
-export class SeaPenRouterElement extends PolymerElement {
+export class SeaPenRouterElement extends WithSeaPenStore {
   static get is() {
     return 'sea-pen-router';
   }
@@ -50,6 +54,8 @@
         computed: 'computeRelativePath_(path_, basePath)',
         observer: 'onRelativePathChanged_',
       },
+
+      showSeaPenTermsOfServiceDialog_: Boolean,
     };
   }
 
@@ -63,11 +69,17 @@
   private query_: string;
   private queryParams_: SeaPenQueryParams;
   private relativePath_: string|null;
+  private showSeaPenTermsOfServiceDialog_: boolean;
 
   override connectedCallback() {
     assert(isSeaPenEnabled(), 'sea pen must be enabled');
     super.connectedCallback();
     instance = this;
+    this.watch<SeaPenRouterElement['showSeaPenTermsOfServiceDialog_']>(
+        'showSeaPenTermsOfServiceDialog_',
+        state => state.shouldShowSeaPenTermsOfServiceDialog);
+    this.updateFromStore();
+    this.fetchTermsOfServiceDialogStatus();
   }
 
   override disconnectedCallback() {
@@ -162,6 +174,15 @@
     }
     return parseInt(templateId) as SeaPenTemplateId;
   }
+
+  private async fetchTermsOfServiceDialogStatus() {
+    await getShouldShowSeaPenTermsOfServiceDialog(
+        getSeaPenProvider(), this.getStore());
+  }
+
+  private async onAcceptSeaPenTerms_() {
+    await acceptSeaPenTermsOfService(getSeaPenProvider(), this.getStore());
+  }
 }
 
 declare global {
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_state.ts b/ash/webui/common/resources/sea_pen/sea_pen_state.ts
index 682f79e..d103b44 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_state.ts
+++ b/ash/webui/common/resources/sea_pen/sea_pen_state.ts
@@ -23,6 +23,7 @@
   currentSelected: string|null;
   pendingSelected: FilePath|SeaPenThumbnail|null;
   thumbnailResponseStatusCode: MantaStatusCode|null;
+  shouldShowSeaPenTermsOfServiceDialog: boolean;
 }
 
 export function emptyState(): SeaPenState {
@@ -40,5 +41,6 @@
     thumbnails: null,
     currentSelected: null,
     pendingSelected: null,
+    shouldShowSeaPenTermsOfServiceDialog: false,
   };
 }
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_terms_of_service_dialog_element.html b/ash/webui/common/resources/sea_pen/sea_pen_terms_of_service_dialog_element.html
new file mode 100644
index 0000000..caa35c5e
--- /dev/null
+++ b/ash/webui/common/resources/sea_pen/sea_pen_terms_of_service_dialog_element.html
@@ -0,0 +1,25 @@
+<style include="common cros-button-style">
+  h3,
+  p {
+    margin: 0;
+  }
+
+  cr-button + cr-button {
+    margin-inline-start: 8px;
+  }
+</style>
+<cr-dialog id="dialog" show-on-attach no-cancel>
+  <h3 slot="title">[[i18n('seaPenWallpaperTermsDialogTitle')]]</h3>
+  <div slot="body">
+    <!-- TODO(b/317235695): add the real content and header image. -->
+    <span id="termsOfServiceContent" inner-h-t-m-l="[[i18nAdvanced('seaPenWallpaperTermsOfServiceDesc')]]"></span>
+  </div>
+  <div slot="button-container">
+    <cr-button id="refuse" on-click="onClickRefuse_">
+      <span>[[i18n('seaPenWallpaperTermsRefuseButton')]]</span>
+    </cr-button>
+    <cr-button id="accept" on-click="onClickAccept_" class="action-button">
+      <span>[[i18n('seaPenWallpaperTermsAcceptButton')]]</span>
+    </cr-button>
+  </div>
+</cr-dialog>
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_terms_of_service_dialog_element.ts b/ash/webui/common/resources/sea_pen/sea_pen_terms_of_service_dialog_element.ts
new file mode 100644
index 0000000..4bb7e78
--- /dev/null
+++ b/ash/webui/common/resources/sea_pen/sea_pen_terms_of_service_dialog_element.ts
@@ -0,0 +1,83 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+/**
+ * @fileoverview Displays a dialog asking the user to review the Sea Pen
+ * wallpaper terms before accessing Sea Pen feature.
+ */
+
+import 'chrome://resources/cr_elements/cr_auto_img/cr_auto_img.js';
+
+import {CrDialogElement} from 'chrome://resources/cr_elements/cr_dialog/cr_dialog.js';
+import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js';
+import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {getTemplate} from './sea_pen_terms_of_service_dialog_element.html.js';
+
+export class SeaPenTermsAcceptEvent extends CustomEvent<null> {
+  static readonly EVENT_NAME = 'sea-pen-terms-dialog-accept';
+
+  constructor() {
+    super(
+        SeaPenTermsAcceptEvent.EVENT_NAME,
+        {
+          bubbles: true,
+          composed: true,
+          detail: null,
+        },
+    );
+  }
+}
+
+export class SeaPenTermsRefuseEvent extends CustomEvent<null> {
+  static readonly EVENT_NAME = 'sea-pen-terms-dialog-refuse';
+
+  constructor() {
+    super(
+        SeaPenTermsRefuseEvent.EVENT_NAME,
+        {
+          bubbles: true,
+          composed: true,
+          detail: null,
+        },
+    );
+  }
+}
+
+declare global {
+  interface HTMLElementTagNameMap {
+    'sea-pen-wallpaper-terms-dialog': SeaPenTermsOfServiceDialogElement;
+  }
+}
+
+export interface SeaPenTermsOfServiceDialogElement {
+  $: {dialog: CrDialogElement};
+}
+
+export class SeaPenTermsOfServiceDialogElement extends I18nMixin
+(PolymerElement) {
+  static get is() {
+    return 'sea-pen-terms-of-service-dialog';
+  }
+
+  static get template() {
+    return getTemplate();
+  }
+
+  static get properties() {
+    return {};
+  }
+
+  private onClickAccept_() {
+    this.$.dialog.cancel();
+    this.dispatchEvent(new SeaPenTermsAcceptEvent());
+  }
+
+  private onClickRefuse_() {
+    this.dispatchEvent(new SeaPenTermsRefuseEvent());
+  }
+}
+
+customElements.define(
+    SeaPenTermsOfServiceDialogElement.is, SeaPenTermsOfServiceDialogElement);
diff --git a/ash/webui/common/resources/sea_pen/sea_pen_utils.ts b/ash/webui/common/resources/sea_pen/sea_pen_utils.ts
index 234213d..cc590d9 100644
--- a/ash/webui/common/resources/sea_pen/sea_pen_utils.ts
+++ b/ash/webui/common/resources/sea_pen/sea_pen_utils.ts
@@ -34,10 +34,6 @@
 }
 
 export function logGenerateSeaPenWallpaper(seaPenTemplateId: SeaPenTemplateId) {
-  // TODO(b:321157226): Set up UMA logging for VC background.
-  if (window.location.origin !== 'chrome://personalization') {
-    return;
-  }
   chrome.metricsPrivate.recordEnumerationValue(
       `Ash.SeaPen.CreateButton`, seaPenTemplateId,
       SeaPenTemplateId.MAX_VALUE + 1);
diff --git a/ash/webui/common/sea_pen_resources.cc b/ash/webui/common/sea_pen_resources.cc
index 031d237..fa19bd9 100644
--- a/ash/webui/common/sea_pen_resources.cc
+++ b/ash/webui/common/sea_pen_resources.cc
@@ -33,6 +33,14 @@
       {"seaPenErrorGeneric", IDS_SEA_PEN_ERROR_GENERIC},
       {"seaPenExperimentLabel", IDS_SEA_PEN_EXPERIMENT_LABEL},
       {"seaPenThumbnailsLoading", IDS_SEA_PEN_THUMBNAILS_LOADING},
+      {"seaPenWallpaperTermsDialogTitle",
+       IDS_SEA_PEN_WALLPAPER_TERMS_DIALOG_TITLE},
+      {"seaPenWallpaperTermsAcceptButton",
+       IDS_SEA_PEN_WALLPAPER_TERMS_ACCEPT_BUTTON},
+      {"seaPenWallpaperTermsRefuseButton",
+       IDS_SEA_PEN_WALLPAPER_TERMS_REFUSE_BUTTON},
+      {"seaPenWallpaperTermsOfServiceDesc",
+       IDS_SEA_PEN_WALLPAPER_TERMS_OF_SERVICE_DESC},
   };
   source->AddLocalizedStrings(kLocalizedStrings);
 }
diff --git a/ash/webui/personalization_app/resources/js/personalization_app.ts b/ash/webui/personalization_app/resources/js/personalization_app.ts
index 6eb5e9c..436b649 100644
--- a/ash/webui/personalization_app/resources/js/personalization_app.ts
+++ b/ash/webui/personalization_app/resources/js/personalization_app.ts
@@ -130,6 +130,7 @@
 export {SeaPenTemplateQueryElement} from 'chrome://resources/ash/common/sea_pen/sea_pen_template_query_element.js';
 export {SeaPenTemplatesElement} from 'chrome://resources/ash/common/sea_pen/sea_pen_templates_element.js';
 export {setSeaPenProviderForTesting} from 'chrome://resources/ash/common/sea_pen/sea_pen_interface_provider.js';
+export {SeaPenTermsOfServiceDialogElement} from 'chrome://resources/ash/common/sea_pen/sea_pen_terms_of_service_dialog_element.js';
 export {isDefaultImage, isGooglePhotosPhoto, isWallpaperImage} from './wallpaper/utils.js';
 export * from './wallpaper/wallpaper_actions.js';
 export {WallpaperCollectionsElement} from './wallpaper/wallpaper_collections_element.js';
diff --git a/ash/webui/personalization_app/resources/js/personalization_router_element.html b/ash/webui/personalization_app/resources/js/personalization_router_element.html
index 9dfeb51..bea52893 100644
--- a/ash/webui/personalization_app/resources/js/personalization_router_element.html
+++ b/ash/webui/personalization_app/resources/js/personalization_router_element.html
@@ -77,7 +77,7 @@
     </wallpaper-subpage>
   </template>
   <template is="dom-if" if="[[shouldShowSeaPen_(path_)]]" restamp>
-    <sea-pen-router base-path="[[seaPenBasePath_]]"></sea-pen-router>
+    <sea-pen-router base-path="[[seaPenBasePath_]]" on-sea-pen-terms-dialog-refuse="onRefuseSeaPenTermsOfService_"></sea-pen-router>
   </template>
   <personalization-toast></personalization-toast>
 </div>
diff --git a/ash/webui/personalization_app/resources/js/personalization_router_element.ts b/ash/webui/personalization_app/resources/js/personalization_router_element.ts
index cc42e0c..bcd0c4d 100644
--- a/ash/webui/personalization_app/resources/js/personalization_router_element.ts
+++ b/ash/webui/personalization_app/resources/js/personalization_router_element.ts
@@ -255,6 +255,10 @@
         break;
     }
   }
+
+  private onRefuseSeaPenTermsOfService_() {
+    this.goToRoute(Paths.COLLECTIONS);
+  }
 }
 
 customElements.define(
diff --git a/ash/webui/personalization_app/resources/js/wallpaper/index.ts b/ash/webui/personalization_app/resources/js/wallpaper/index.ts
index e38de27..4e75a0f6 100644
--- a/ash/webui/personalization_app/resources/js/wallpaper/index.ts
+++ b/ash/webui/personalization_app/resources/js/wallpaper/index.ts
@@ -9,6 +9,7 @@
 import 'chrome://resources/ash/common/sea_pen/sea_pen_recent_wallpapers_element.js';
 import 'chrome://resources/ash/common/sea_pen/sea_pen_template_query_element.js';
 import 'chrome://resources/ash/common/sea_pen/sea_pen_templates_element.js';
+import 'chrome://resources/ash/common/sea_pen/sea_pen_terms_of_service_dialog_element.js';
 import './google_photos_albums_element.js';
 import './google_photos_collection_element.js';
 import './google_photos_photos_by_album_id_element.js';
diff --git a/ash/webui/personalization_app/test/personalization_app_mojom_banned_mocha_test_base.cc b/ash/webui/personalization_app/test/personalization_app_mojom_banned_mocha_test_base.cc
index 3912c3d..a56a8b3e 100644
--- a/ash/webui/personalization_app/test/personalization_app_mojom_banned_mocha_test_base.cc
+++ b/ash/webui/personalization_app/test/personalization_app_mojom_banned_mocha_test_base.cc
@@ -141,6 +141,15 @@
               (const base::FilePath& file_path,
                DeleteRecentSeaPenImageCallback),
               (override));
+  MOCK_METHOD(void,
+              OpenFeedbackDialog,
+              (mojom::SeaPenFeedbackMetadataPtr metadata),
+              (override));
+  MOCK_METHOD(void,
+              ShouldShowSeaPenTermsOfServiceDialog,
+              (ShouldShowSeaPenTermsOfServiceDialogCallback callback),
+              (override));
+  MOCK_METHOD(void, HandleSeaPenTermsOfServiceAccepted, (), (override));
 };
 
 class MockPersonalizationAppThemeProvider
diff --git a/ash/webui/shimless_rma/resources/BUILD.gn b/ash/webui/shimless_rma/resources/BUILD.gn
index 90ab205..7d228b1 100644
--- a/ash/webui/shimless_rma/resources/BUILD.gn
+++ b/ash/webui/shimless_rma/resources/BUILD.gn
@@ -63,7 +63,7 @@
     "wrapup_finalize_page.ts",
     "wrapup_repair_complete_page.ts",
     "wrapup_restock_page.ts",
-    "wrapup_wait_for_manual_wp_enable_page.js",
+    "wrapup_wait_for_manual_wp_enable_page.ts",
   ]
 
   non_web_component_files = [
diff --git a/ash/webui/shimless_rma/resources/wrapup_wait_for_manual_wp_enable_page.js b/ash/webui/shimless_rma/resources/wrapup_wait_for_manual_wp_enable_page.js
deleted file mode 100644
index 686ec20..0000000
--- a/ash/webui/shimless_rma/resources/wrapup_wait_for_manual_wp_enable_page.js
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright 2021 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-import './shimless_rma_shared.css.js';
-import './base_page.js';
-
-import {I18nBehavior, I18nBehaviorInterface} from 'chrome://resources/ash/common/i18n_behavior.js';
-import {mixinBehaviors, PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
-
-import {getShimlessRmaService} from './mojo_interface_provider.js';
-import {HardwareWriteProtectionStateObserverInterface, HardwareWriteProtectionStateObserverReceiver, ShimlessRmaServiceInterface, StateResult} from './shimless_rma.mojom-webui.js';
-import {disableNextButton, enableNextButton, executeThenTransitionState, focusPageTitle} from './shimless_rma_util.js';
-import {getTemplate} from './wrapup_wait_for_manual_wp_enable_page.html.js';
-
-/**
- * @fileoverview
- * 'wrapup-wait-for-manual-wp-enable-page' wait for the manual HWWP enable to be
- * completed.
- */
-
-/**
- * @constructor
- * @extends {PolymerElement}
- * @implements {I18nBehaviorInterface}
- */
-const WrapupWaitForManualWpEnablePageBase =
-    mixinBehaviors([I18nBehavior], PolymerElement);
-
-/** @polymer */
-export class WrapupWaitForManualWpEnablePage extends
-    WrapupWaitForManualWpEnablePageBase {
-  static get is() {
-    return 'wrapup-wait-for-manual-wp-enable-page';
-  }
-
-  static get template() {
-    return getTemplate();
-  }
-
-  constructor() {
-    super();
-    /** @private {ShimlessRmaServiceInterface} */
-    this.shimlessRmaService = getShimlessRmaService();
-    /**
-     * Receiver responsible for observing hardware write protection state.
-     * @private {
-     *  ?HardwareWriteProtectionStateObserverReceiver}
-     */
-    this.hardwareWriteProtectionStateObserverReceiver =
-        new HardwareWriteProtectionStateObserverReceiver(
-            /**
-             * @type {!HardwareWriteProtectionStateObserverInterface}
-             */
-            (this));
-
-    this.shimlessRmaService.observeHardwareWriteProtectionState(
-        this.hardwareWriteProtectionStateObserverReceiver.$
-            .bindNewPipeAndPassRemote());
-  }
-
-  /** @override */
-  ready() {
-    super.ready();
-
-    focusPageTitle(this);
-  }
-
-  /**
-   * @param {boolean} enabled
-   */
-  onHardwareWriteProtectionStateChanged(enabled) {
-    if (enabled) {
-      executeThenTransitionState(
-          this, () => this.shimlessRmaService.writeProtectManuallyEnabled());
-    }
-  }
-}
-
-customElements.define(
-    WrapupWaitForManualWpEnablePage.is, WrapupWaitForManualWpEnablePage);
diff --git a/ash/webui/shimless_rma/resources/wrapup_wait_for_manual_wp_enable_page.ts b/ash/webui/shimless_rma/resources/wrapup_wait_for_manual_wp_enable_page.ts
new file mode 100644
index 0000000..625a94f
--- /dev/null
+++ b/ash/webui/shimless_rma/resources/wrapup_wait_for_manual_wp_enable_page.ts
@@ -0,0 +1,70 @@
+// Copyright 2021 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+import './shimless_rma_shared.css.js';
+import './base_page.js';
+
+import {I18nMixin} from 'chrome://resources/cr_elements/i18n_mixin.js';
+import {PolymerElement} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
+
+import {getShimlessRmaService} from './mojo_interface_provider.js';
+import {HardwareWriteProtectionStateObserverReceiver, ShimlessRmaServiceInterface} from './shimless_rma.mojom-webui.js';
+import {executeThenTransitionState, focusPageTitle} from './shimless_rma_util.js';
+import {getTemplate} from './wrapup_wait_for_manual_wp_enable_page.html.js';
+
+/**
+ * @fileoverview
+ * 'wrapup-wait-for-manual-wp-enable-page' wait for the manual HWWP enable to be
+ * completed.
+ */
+
+const WrapupWaitForManualWpEnablePageBase = I18nMixin(PolymerElement);
+
+export class WrapupWaitForManualWpEnablePage extends
+    WrapupWaitForManualWpEnablePageBase {
+  static get is() {
+    return 'wrapup-wait-for-manual-wp-enable-page' as const;
+  }
+
+  static get template() {
+    return getTemplate();
+  }
+
+  private shimlessRmaService: ShimlessRmaServiceInterface =
+      getShimlessRmaService();
+  // Receiver responsible for observing hardware write protection state.
+  hardwareWriteProtectionStateObserverReceiver:
+      HardwareWriteProtectionStateObserverReceiver =
+          new HardwareWriteProtectionStateObserverReceiver(this);
+
+  constructor() {
+    super();
+
+    this.shimlessRmaService.observeHardwareWriteProtectionState(
+        this.hardwareWriteProtectionStateObserverReceiver.$
+            .bindNewPipeAndPassRemote());
+  }
+
+  override ready() {
+    super.ready();
+
+    focusPageTitle(this);
+  }
+
+  onHardwareWriteProtectionStateChanged(enabled: boolean): void {
+    if (enabled) {
+      executeThenTransitionState(
+          this, () => this.shimlessRmaService.writeProtectManuallyEnabled());
+    }
+  }
+}
+
+declare global {
+  interface HTMLElementTagNameMap {
+    [WrapupWaitForManualWpEnablePage.is]: WrapupWaitForManualWpEnablePage;
+  }
+}
+
+customElements.define(
+    WrapupWaitForManualWpEnablePage.is, WrapupWaitForManualWpEnablePage);
diff --git a/ash/webui/vc_background_ui/resources/BUILD.gn b/ash/webui/vc_background_ui/resources/BUILD.gn
index 93b4bcf..8876698 100644
--- a/ash/webui/vc_background_ui/resources/BUILD.gn
+++ b/ash/webui/vc_background_ui/resources/BUILD.gn
@@ -21,6 +21,8 @@
 
   ts_composite = true
 
+  ts_definitions = [ "//tools/typescript/definitions/metrics_private.d.ts" ]
+
   ts_deps = [
     "//ash/webui/common/resources:build_ts",
     "//third_party/polymer/v3_0:library",
diff --git a/ash/webui/vc_background_ui/resources/js/vc_background_app.html b/ash/webui/vc_background_ui/resources/js/vc_background_app.html
index e2432f5bf..fb6db743 100644
--- a/ash/webui/vc_background_ui/resources/js/vc_background_app.html
+++ b/ash/webui/vc_background_ui/resources/js/vc_background_app.html
@@ -36,5 +36,5 @@
         sea-pen-template-id="[[queryParams_.seaPenTemplateId]]">
     </vc-background-breadcrumb>
   </div>
-  <sea-pen-router base-path=""></sea-pen-router>
+  <sea-pen-router base-path="" on-sea-pen-terms-dialog-refuse="onRefuseSeaPenTermsOfService_"></sea-pen-router>
 </div>
diff --git a/ash/webui/vc_background_ui/resources/js/vc_background_app.ts b/ash/webui/vc_background_ui/resources/js/vc_background_app.ts
index 65b4c997..9717a5e 100644
--- a/ash/webui/vc_background_ui/resources/js/vc_background_app.ts
+++ b/ash/webui/vc_background_ui/resources/js/vc_background_app.ts
@@ -54,6 +54,10 @@
     // Navigates to the top of the subpage.
     window.scrollTo(0, 0);
   }
+
+  private onRefuseSeaPenTermsOfService_() {
+    window.close();
+  }
 }
 
 declare global {
diff --git a/ash/wm/client_controlled_state_unittest.cc b/ash/wm/client_controlled_state_unittest.cc
index 5e31936..61d6fa0d 100644
--- a/ash/wm/client_controlled_state_unittest.cc
+++ b/ash/wm/client_controlled_state_unittest.cc
@@ -282,20 +282,20 @@
     widget->Show();
     widget->Activate();
   }
-  void DragResizeSnappedWindow(int target_x) {
-    ASSERT_TRUE(window_state()->IsSnapped());
+  void DragResizeSnappedWindow(aura::Window* window, int target_x) {
+    ASSERT_TRUE(WindowState::Get(window)->IsSnapped());
 
     ui::test::EventGenerator* const generator = GetEventGenerator();
     const bool in_tablet = display::Screen::GetScreen()->InTabletMode();
     if (in_tablet) {
-      auto* split_view_controller = SplitViewController::Get(window());
+      auto* split_view_controller = SplitViewController::Get(window);
       const gfx::Rect divider_bounds =
           split_view_controller->split_view_divider()->GetDividerBoundsInScreen(
               false);
       generator->set_current_screen_location(divider_bounds.CenterPoint());
     } else {
       generator->set_current_screen_location(
-          window()->GetBoundsInScreen().right_center());
+          window->GetBoundsInScreen().right_center());
     }
     generator->DragMouseTo(gfx::Point(target_x, 0));
   }
@@ -728,7 +728,7 @@
 
   const float target_width = 300;
   const float expected_snap_ratio = target_width / 900;
-  DragResizeSnappedWindow(target_width);
+  DragResizeSnappedWindow(window(), target_width);
 
   // Apply pending requests.
   ApplyPendingRequestedBounds();
@@ -814,6 +814,7 @@
 // Tests that auto partial-snapping from maximized/minimized via overview/shelf
 // works for ClientControlledState.
 TEST_F(ClientControlledStateTest, AutoPartialSnap) {
+  UpdateDisplay("900x600");
   Shell::Get()->tablet_mode_controller()->SetEnabledForTest(true);
   ASSERT_TRUE(display::Screen::GetScreen()->InTabletMode());
 
@@ -874,6 +875,48 @@
   VerifySnappedBounds(window(), chromeos::kTwoThirdSnapRatio);
   VerifySnappedBounds(non_client_controlled_window.get(),
                       chromeos::kOneThirdSnapRatio);
+
+  // Minimize `window()`.
+  window_state()->OnWMEvent(&minimize);
+  state()->EnterNextState(window_state(), delegate()->new_state());
+  EXPECT_TRUE(window_state()->IsMinimized());
+  EXPECT_FALSE(window()->IsVisible());
+
+  // Resize `non_client_controlled_window` to 2/3 left.
+  DragResizeSnappedWindow(non_client_controlled_window.get(), 600);
+  VerifySnappedBounds(non_client_controlled_window.get(),
+                      chromeos::kTwoThirdSnapRatio);
+
+  // Click `window()`'s overview item to snap to 1/3 right.
+  ClickOnOverviewItem(window());
+
+  state()->EnterNextState(window_state(), delegate()->new_state());
+  ApplyPendingRequestedBounds();
+  EXPECT_EQ(WindowStateType::kSecondarySnapped, window_state()->GetStateType());
+  VerifySnappedBounds(window(), chromeos::kOneThirdSnapRatio);
+  VerifySnappedBounds(non_client_controlled_window.get(),
+                      chromeos::kTwoThirdSnapRatio);
+
+  // Minimize `window()`.
+  window_state()->OnWMEvent(&minimize);
+  state()->EnterNextState(window_state(), delegate()->new_state());
+  EXPECT_TRUE(window_state()->IsMinimized());
+  EXPECT_FALSE(window()->IsVisible());
+
+  // Resize `non_client_controlled_window` to 1/3 left.
+  DragResizeSnappedWindow(non_client_controlled_window.get(), 300);
+  VerifySnappedBounds(non_client_controlled_window.get(),
+                      chromeos::kOneThirdSnapRatio);
+
+  // Unminimize `window()` by clicking the app icon on the shelf.
+  SimulateUnminimizeViaShelfIcon(widget());
+
+  state()->EnterNextState(window_state(), delegate()->new_state());
+  ApplyPendingRequestedBounds();
+  EXPECT_EQ(WindowStateType::kSecondarySnapped, window_state()->GetStateType());
+  VerifySnappedBounds(window(), chromeos::kTwoThirdSnapRatio);
+  VerifySnappedBounds(non_client_controlled_window.get(),
+                      chromeos::kOneThirdSnapRatio);
 }
 
 TEST_P(ClientControlledStateTestClamshellAndTablet, SnapAndRotate) {
@@ -1189,7 +1232,7 @@
 
   // Resize to 1/3 (i.e. make the width 400).
   const float target_width = 400;
-  DragResizeSnappedWindow(target_width);
+  DragResizeSnappedWindow(window(), target_width);
   ApplyPendingRequestedBounds();
   VerifySnappedBounds(window(), target_width / 1200);
   EXPECT_EQ(WindowStateType::kPrimarySnapped, window_state()->GetStateType());
diff --git a/ash/wm/overview/overview_session_unittest.cc b/ash/wm/overview/overview_session_unittest.cc
index 118074e..7c82821c 100644
--- a/ash/wm/overview/overview_session_unittest.cc
+++ b/ash/wm/overview/overview_session_unittest.cc
@@ -9867,13 +9867,16 @@
 // Test dragging to snap an overview item on an external display.
 TEST_F(SplitViewOverviewSessionInClamshellTestMultiDisplayOnly,
        DraggingOnExternalDisplay) {
-  UpdateDisplay("800x600,800x600");
+  UpdateDisplay("800x600,800+0-800x600");
   aura::Window::Windows root_windows = Shell::GetAllRootWindows();
   ASSERT_EQ(2u, root_windows.size());
+
   const gfx::Rect bounds_within_root2(800, 0, 400, 400);
   std::unique_ptr<aura::Window> window1 = CreateTestWindow(bounds_within_root2);
   std::unique_ptr<aura::Window> window2 = CreateTestWindow(bounds_within_root2);
+
   ToggleOverview();
+
   OverviewGrid* grid_on_root2 =
       GetOverviewSession()->GetGridWithRootWindow(root_windows[1]);
   auto* item1 = grid_on_root2->GetOverviewItemContaining(window1.get());
@@ -9883,13 +9886,14 @@
   const SplitViewDragIndicators* indicators =
       grid_on_root2->split_view_drag_indicators();
 
-  Shell::Get()->cursor_manager()->SetDisplay(
-      display::Screen::GetScreen()->GetDisplayNearestWindow(root_windows[1]));
-  GetOverviewSession()->InitiateDrag(
-      item1, item1->target_bounds().CenterPoint(),
-      /*is_touch_dragging=*/false, /*event_source_item=*/item1);
-  const gfx::PointF right_snap_point(1599.f, 300.f);
-  GetOverviewSession()->Drag(item1, right_snap_point);
+  auto* event_generator = GetEventGenerator();
+  event_generator->MoveMouseTo(
+      gfx::ToRoundedPoint(item1->target_bounds().CenterPoint()));
+  event_generator->PressLeftButton();
+
+  // TODO(http://b/300700394): Avoid hardcoding these numbers.
+  const gfx::Point right_snap_point(1599, 300);
+  event_generator->MoveMouseTo(right_snap_point);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kToSnapSecondary,
             indicators->current_window_dragging_state());
   EXPECT_EQ(
@@ -9898,31 +9902,31 @@
                                            /*window_for_minimum_size=*/nullptr,
                                            chromeos::kDefaultSnapRatio),
       grid_on_root2->bounds_for_testing());
-  GetOverviewSession()->CompleteDrag(item1, right_snap_point);
+  event_generator->ReleaseLeftButton();
   EXPECT_EQ(SplitViewController::State::kSecondarySnapped,
             split_view_controller->state());
   EXPECT_EQ(window1.get(), split_view_controller->secondary_window());
 
-  GetOverviewSession()->InitiateDrag(
-      item2, item2->target_bounds().CenterPoint(),
-      /*is_touch_dragging=*/false, /*event_source_item=*/item2);
-  const gfx::PointF left_of_middle(1150.f, 300.f);
-  GetOverviewSession()->Drag(item2, left_of_middle);
+  event_generator->MoveMouseTo(
+      gfx::ToRoundedPoint(item2->target_bounds().CenterPoint()));
+  GetEventGenerator()->PressLeftButton();
+  const gfx::Point left_of_middle(1150, 300);
+  event_generator->MoveMouseTo(left_of_middle);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kFromOverview,
             indicators->current_window_dragging_state());
-  GetOverviewSession()->CompleteDrag(item2, left_of_middle);
+  event_generator->ReleaseLeftButton();
   EXPECT_EQ(SplitViewController::State::kSecondarySnapped,
             split_view_controller->state());
   EXPECT_EQ(window1.get(), split_view_controller->secondary_window());
 
-  GetOverviewSession()->InitiateDrag(
-      item2, item2->target_bounds().CenterPoint(),
-      /*is_touch_dragging=*/false, /*event_source_item=*/item2);
-  const gfx::PointF left_snap_point(810.f, 300.f);
-  GetOverviewSession()->Drag(item2, left_snap_point);
+  event_generator->MoveMouseTo(
+      gfx::ToRoundedPoint(item2->target_bounds().CenterPoint()));
+  event_generator->PressLeftButton();
+  const gfx::Point left_snap_point(810, 300);
+  event_generator->MoveMouseTo(left_snap_point);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kToSnapPrimary,
             indicators->current_window_dragging_state());
-  GetOverviewSession()->CompleteDrag(item2, left_snap_point);
+  event_generator->ReleaseLeftButton();
   EXPECT_EQ(SplitViewController::State::kNoSnap,
             split_view_controller->state());
 }
@@ -9930,7 +9934,6 @@
 // Test dragging from one display to another.
 TEST_F(SplitViewOverviewSessionInClamshellTestMultiDisplayOnly,
        MultiDisplayDragging) {
-  wm::CursorManager* cursor_manager = Shell::Get()->cursor_manager();
   UpdateDisplay("800x600,800x600");
   aura::Window::Windows root_windows = Shell::GetAllRootWindows();
   ASSERT_EQ(2u, root_windows.size());
@@ -9954,10 +9957,10 @@
   const SplitViewDragIndicators* indicators_on_root2 =
       grid_on_root2->split_view_drag_indicators();
 
-  ASSERT_EQ(display_with_root1.id(), cursor_manager->GetDisplay().id());
-  GetOverviewSession()->InitiateDrag(
-      item1, item1->target_bounds().CenterPoint(),
-      /*is_touch_dragging=*/false, /*event_source_item=*/item1);
+  auto* event_generator = GetEventGenerator();
+  event_generator->MoveMouseTo(
+      gfx::ToRoundedPoint(item1->target_bounds().CenterPoint()));
+  event_generator->PressLeftButton();
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kNoDrag,
             indicators_on_root1->current_window_dragging_state());
   EXPECT_EQ(display_with_root1.work_area(),
@@ -9967,8 +9970,8 @@
   EXPECT_EQ(display_with_root2.work_area(),
             grid_on_root2->bounds_for_testing());
 
-  const gfx::PointF root1_left_snap_point(0.f, 300.f);
-  GetOverviewSession()->Drag(item1, root1_left_snap_point);
+  const gfx::Point root1_left_snap_point(0, 300);
+  event_generator->MoveMouseTo(root1_left_snap_point);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kToSnapPrimary,
             indicators_on_root1->current_window_dragging_state());
   EXPECT_EQ(
@@ -9982,8 +9985,8 @@
   EXPECT_EQ(display_with_root2.work_area(),
             grid_on_root2->bounds_for_testing());
 
-  const gfx::PointF root1_middle_point(400.f, 300.f);
-  GetOverviewSession()->Drag(item1, root1_middle_point);
+  const gfx::Point root1_middle_point(400, 300);
+  event_generator->MoveMouseTo(root1_middle_point);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kFromOverview,
             indicators_on_root1->current_window_dragging_state());
   EXPECT_EQ(display_with_root1.work_area(),
@@ -9993,8 +9996,8 @@
   EXPECT_EQ(display_with_root2.work_area(),
             grid_on_root2->bounds_for_testing());
 
-  const gfx::PointF root1_right_snap_point(799.f, 300.f);
-  GetOverviewSession()->Drag(item1, root1_right_snap_point);
+  const gfx::Point root1_right_snap_point(799, 300);
+  event_generator->MoveMouseTo(root1_right_snap_point);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kToSnapSecondary,
             indicators_on_root1->current_window_dragging_state());
   EXPECT_EQ(
@@ -10008,9 +10011,8 @@
   EXPECT_EQ(display_with_root2.work_area(),
             grid_on_root2->bounds_for_testing());
 
-  const gfx::PointF root2_left_snap_point(800.f, 300.f);
-  cursor_manager->SetDisplay(display_with_root2);
-  GetOverviewSession()->Drag(item1, root2_left_snap_point);
+  const gfx::Point root2_left_snap_point(800, 300);
+  event_generator->MoveMouseTo(root2_left_snap_point);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kOtherDisplay,
             indicators_on_root1->current_window_dragging_state());
   EXPECT_EQ(display_with_root1.work_area(),
@@ -10024,8 +10026,8 @@
                                            chromeos::kDefaultSnapRatio),
       grid_on_root2->bounds_for_testing());
 
-  const gfx::PointF root2_left_snap_point_away_from_edge(816.f, 300.f);
-  GetOverviewSession()->Drag(item1, root2_left_snap_point_away_from_edge);
+  const gfx::Point root2_left_snap_point_away_from_edge(816, 300);
+  event_generator->MoveMouseTo(root2_left_snap_point_away_from_edge);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kOtherDisplay,
             indicators_on_root1->current_window_dragging_state());
   EXPECT_EQ(display_with_root1.work_area(),
@@ -10039,8 +10041,8 @@
                                            chromeos::kDefaultSnapRatio),
       grid_on_root2->bounds_for_testing());
 
-  const gfx::PointF root2_right_snap_point(1599.f, 300.f);
-  GetOverviewSession()->Drag(item1, root2_right_snap_point);
+  const gfx::Point root2_right_snap_point(1599, 300);
+  event_generator->MoveMouseTo(root2_right_snap_point);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kOtherDisplay,
             indicators_on_root1->current_window_dragging_state());
   EXPECT_EQ(display_with_root1.work_area(),
@@ -10054,8 +10056,8 @@
                                            chromeos::kDefaultSnapRatio),
       grid_on_root2->bounds_for_testing());
 
-  const gfx::PointF root2_middle_point(1200.f, 300.f);
-  GetOverviewSession()->Drag(item1, root2_middle_point);
+  const gfx::Point root2_middle_point(1200, 300);
+  event_generator->MoveMouseTo(root2_middle_point);
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kOtherDisplay,
             indicators_on_root1->current_window_dragging_state());
   EXPECT_EQ(display_with_root1.work_area(),
@@ -10065,7 +10067,7 @@
   EXPECT_EQ(display_with_root2.work_area(),
             grid_on_root2->bounds_for_testing());
 
-  GetOverviewSession()->CompleteDrag(item1, root2_middle_point);
+  event_generator->ReleaseLeftButton();
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kNoDrag,
             indicators_on_root1->current_window_dragging_state());
   EXPECT_EQ(display_with_root1.work_area(),
@@ -10137,15 +10139,14 @@
   EXPECT_EQ(OverviewGridWindowFillMode::kLetterBoxed,
             item->GetWindowDimensionsType());
   EXPECT_EQ(2.f, item_bounds.width() / item_bounds.height());
-  GetOverviewSession()->InitiateDrag(item, item->target_bounds().CenterPoint(),
-                                     /*is_touch_dragging=*/false,
-                                     /*event_source_item=*/item);
-  Shell::Get()->cursor_manager()->SetDisplay(
-      display::test::DisplayManagerTestApi(display_manager())
-          .GetSecondaryDisplay());
+  auto* event_generator = GetEventGenerator();
+  event_generator->MoveMouseTo(gfx::ToRoundedPoint(item_bounds.CenterPoint()));
+  event_generator->PressLeftButton();
+
   // Drag to the middle of the secondary display to avoid triggering the drag
   // snap indicator animation.
-  GetOverviewSession()->Drag(item, gfx::PointF(1200.f, 500.f));
+  event_generator->MoveMouseTo(gfx::Point(1200, 500));
+
   auto* drop_target = GetDropTarget(1);
   ASSERT_TRUE(drop_target);
   // Verify that |drop_target| is effectively pillar boxed. Avoid calling
@@ -10163,26 +10164,21 @@
 // shrink to fit into the corresponding work area.
 TEST_F(SplitViewOverviewSessionInClamshellTestMultiDisplayOnly,
        DropTargetBoundsOnDisplayWhereDraggedWindowDoesNotFitIntoWorkArea) {
-  UpdateDisplay("600x500,1200x1000");
-  // Drags |item| from the right display to the left display and back, and
+  UpdateDisplay("600x500,600+0-1200x1000");
+  // Drags `item` from the right display to the left display and back, and
   // returns the bounds of the drop target that appears on the left display.
   const auto root1_drop_target_bounds = [this](OverviewItemBase* item) {
-    wm::CursorManager* cursor_manager = Shell::Get()->cursor_manager();
-    const gfx::PointF drag_starting_point = item->target_bounds().CenterPoint();
-    display::test::DisplayManagerTestApi display_manager_test(
-        display_manager());
-    cursor_manager->SetDisplay(display_manager_test.GetSecondaryDisplay());
-    GetOverviewSession()->InitiateDrag(item, drag_starting_point,
-                                       /*is_touch_dragging=*/false,
-                                       /*event_source_item=*/item);
-    cursor_manager->SetDisplay(
-        display::Screen::GetScreen()->GetPrimaryDisplay());
-    GetOverviewSession()->Drag(item, gfx::PointF(300.f, 0.f));
-    cursor_manager->SetDisplay(display_manager_test.GetSecondaryDisplay());
-    GetOverviewSession()->Drag(item, drag_starting_point);
-    DCHECK(GetDropTarget(0));
+    const gfx::Point drag_starting_point =
+        gfx::ToRoundedPoint(item->target_bounds().CenterPoint());
+    auto* event_generator = GetEventGenerator();
+    event_generator->MoveMouseTo(drag_starting_point);
+    event_generator->PressLeftButton();
+    event_generator->MoveMouseTo(gfx::Point(300, 0));
+    event_generator->MoveMouseTo(drag_starting_point);
+
+    CHECK(GetDropTarget(0));
     const gfx::RectF result = GetDropTarget(0)->target_bounds();
-    GetOverviewSession()->CompleteDrag(item, drag_starting_point);
+    event_generator->ReleaseLeftButton();
     return result;
   };
 
diff --git a/ash/wm/overview/overview_window_drag_controller.cc b/ash/wm/overview/overview_window_drag_controller.cc
index 5e1f8bc..30926c8f 100644
--- a/ash/wm/overview/overview_window_drag_controller.cc
+++ b/ash/wm/overview/overview_window_drag_controller.cc
@@ -938,10 +938,14 @@
 
 aura::Window* OverviewWindowDragController::GetRootWindowBeingDraggedIn()
     const {
-  return is_touch_dragging_
-             ? item_->root_window()
-             : Shell::GetRootWindowForDisplayId(
-                   Shell::Get()->cursor_manager()->GetDisplay().id());
+  if (is_touch_dragging_) {
+    return item_->root_window();
+  }
+
+  auto* screen = display::Screen::GetScreen();
+  CHECK(screen);
+  auto display = screen->GetDisplayNearestPoint(screen->GetCursorScreenPoint());
+  return Shell::GetRootWindowForDisplayId(display.id());
 }
 
 SnapPosition OverviewWindowDragController::GetSnapPosition(
diff --git a/ash/wm/splitview/split_view_drag_indicators_unittest.cc b/ash/wm/splitview/split_view_drag_indicators_unittest.cc
index 529cfa2..e8bc712 100644
--- a/ash/wm/splitview/split_view_drag_indicators_unittest.cc
+++ b/ash/wm/splitview/split_view_drag_indicators_unittest.cc
@@ -551,15 +551,17 @@
 
   // Start dragging from overview in the landscape display.
   auto* item = GetOverviewItemForWindow(window1.get());
-  gfx::PointF start_location(item->target_bounds().CenterPoint());
-  overview_session_->InitiateDrag(item, start_location,
-                                  /*is_touch_dragging=*/false,
-                                  /*event_source_item=*/item);
+  auto* event_generator = GetEventGenerator();
+  event_generator->MoveMouseTo(
+      gfx::ToRoundedPoint(item->target_bounds().CenterPoint()));
+  event_generator->PressLeftButton();
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kNoDrag,
             window_dragging_state());
-  overview_session_->Drag(item, gfx::PointF(400, 300));
+
+  event_generator->MoveMouseTo(gfx::Point(400, 300));
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kFromOverview,
             window_dragging_state());
+
   // The split view indicator should show up with left indicator on the left
   // and its height span over height of the display work area.
   EXPECT_TRUE(indicators->GetIndicatorTypeVisibilityForTesting(
@@ -571,15 +573,15 @@
             landscape_display.work_area().height() -
                 2 * kHighlightScreenEdgePaddingDp);
 
-  // Reset the gesture so we stay in overview mode.
-  overview_session_->ResetDraggedWindowGesture();
+  // Stop dragging and verify we are still in overview.
+  event_generator->ReleaseLeftButton();
+  ASSERT_TRUE(OverviewController::Get()->InOverviewSession());
 
   // Drag a window to the portrait display.
-  overview_session_->InitiateDrag(item, /*event_source_item=*/start_location,
-                                  /*is_touch_dragging=*/false,
-                                  /*event_source_item=*/item);
-  Shell::Get()->cursor_manager()->SetDisplay(portrait_display);
-  overview_session_->Drag(item, gfx::PointF(1100, 400));
+  event_generator->MoveMouseTo(
+      gfx::ToRoundedPoint(item->target_bounds().CenterPoint()));
+  event_generator->PressLeftButton();
+  event_generator->MoveMouseTo(gfx::Point(1100, 400));
   EXPECT_EQ(SplitViewDragIndicators::WindowDraggingState::kOtherDisplay,
             window_dragging_state());
   indicators = overview_session_->GetGridWithRootWindow(root_windows[1])
@@ -589,10 +591,9 @@
   EXPECT_TRUE(indicators->GetIndicatorTypeVisibilityForTesting(
       IndicatorType::kRightText));
 
-  // If |chromeos::wm::features::kVerticalSnap| is enabled, the left indicator
-  // should be on the top of the display and its width span the work area width.
-  // Otherwise, the left indicator should be on the left and its height span
-  // the work area height.
+  // The left indicator should be on the top of the display and its width span
+  // the work area width. Otherwise, the left indicator should be on the left
+  // and its height span the work area height.
   left_indicator_bounds = indicators->GetLeftHighlightViewBounds();
   EXPECT_EQ(
       left_indicator_bounds.width(),
@@ -609,25 +610,20 @@
   std::unique_ptr<aura::Window> window = CreateAppWindow(gfx::Rect(300, 300));
 
   ToggleOverview();
-
-  // Start dragging the overview item on the primary display.
   auto* item = GetOverviewItemForWindow(window.get());
-  gfx::PointF start_location(item->target_bounds().CenterPoint());
-  overview_session_->InitiateDrag(item, start_location,
-                                  /*is_touch_dragging=*/false,
-                                  /*event_source_item=*/item);
 
-  // Drag the overview item to the secondary display right edge, so the right
-  // side preview indicator shows up.
-  // TODO(crbug.com/990589): Unit tests should be able to simulate mouse input
-  // without having to call `CursorManager::SetDisplay()`.
-  aura::Window* secondary_root = Shell::GetAllRootWindows()[1];
-  Shell::Get()->cursor_manager()->SetDisplay(
-      display::Screen::GetScreen()->GetDisplayNearestWindow(secondary_root));
-  overview_session_->Drag(item, gfx::PointF(1780.f, 500.f));
+  // Start dragging the overview item on the primary display. Drag the overview
+  // item to the secondary display right edge, so the right side preview
+  // indicator shows up.
+  auto* event_generator = GetEventGenerator();
+  event_generator->MoveMouseTo(
+      gfx::ToRoundedPoint(item->target_bounds().CenterPoint()));
+  event_generator->PressLeftButton();
+  event_generator->MoveMouseTo(gfx::Point(1780, 500));
 
   // Verify the size of the right side indicator. It should be roughly half of
   // the secondary display.
+  aura::Window* secondary_root = Shell::GetAllRootWindows()[1];
   auto* secondary_display_indicators =
       overview_session_->GetGridWithRootWindow(secondary_root)
           ->split_view_drag_indicators();
diff --git a/build/config/siso/clang_all.star b/build/config/siso/clang_all.star
index de0003c..acd6034 100644
--- a/build/config/siso/clang_all.star
+++ b/build/config/siso/clang_all.star
@@ -17,6 +17,11 @@
             "type": "glob",
             "includes": ["*.h"],
         },
+        # vendor provided headers for libc++.
+        "buildtools/third_party/libc++:headers": {
+            "type": "glob",
+            "includes": ["__*"],
+        },
 
         # toolchain root
         # :headers for compiling
@@ -36,8 +41,9 @@
     # third_party/libc++/src/include:headers,
     # but scandeps doesn't scan `__config` file, which uses
     # `#include <__config_site>`
+    # also need `__assertion_handler`. b/321171148
     "third_party/libc++/src/include": [
-        "buildtools/third_party/libc++/__config_site",
+        "buildtools/third_party/libc++:headers",
     ],
 }
 
diff --git a/cc/layers/picture_layer_impl.cc b/cc/layers/picture_layer_impl.cc
index 5f90547..4332013 100644
--- a/cc/layers/picture_layer_impl.cc
+++ b/cc/layers/picture_layer_impl.cc
@@ -1060,8 +1060,7 @@
 }
 
 gfx::Size PictureLayerImpl::CalculateTileSize(const gfx::Size& content_bounds) {
-  content_bounds_ = content_bounds;
-  return tile_size_calculator_.CalculateTileSize();
+  return tile_size_calculator_.CalculateTileSize(content_bounds);
 }
 
 void PictureLayerImpl::GetContentsResourceId(
diff --git a/cc/layers/picture_layer_impl.h b/cc/layers/picture_layer_impl.h
index e02e4836..2646954 100644
--- a/cc/layers/picture_layer_impl.h
+++ b/cc/layers/picture_layer_impl.h
@@ -164,8 +164,6 @@
     return paint_worklet_records_;
   }
 
-  gfx::Size content_bounds() { return content_bounds_; }
-
   // Invalidates all PaintWorklets in this layer who depend on the given
   // property to be painted. Used when the value for the property is changed by
   // an animation, at which point the PaintWorklet must be re-painted.
@@ -331,7 +329,6 @@
   // |LayerTreeHostImpl::UpdateSyncTreeAfterCommitOrImplSideInvalidation|.
   PaintWorkletRecordMap paint_worklet_records_;
 
-  gfx::Size content_bounds_;
   TileSizeCalculator tile_size_calculator_{this};
 
   // Denotes an area that is damaged and needs redraw. This is in the layer's
diff --git a/cc/layers/tile_size_calculator.cc b/cc/layers/tile_size_calculator.cc
index b9399f13..9e5454b8 100644
--- a/cc/layers/tile_size_calculator.cc
+++ b/cc/layers/tile_size_calculator.cc
@@ -121,16 +121,7 @@
 
 // AffectingParams.
 bool TileSizeCalculator::AffectingParams::operator==(
-    const AffectingParams& other) const {
-  return max_texture_size == other.max_texture_size &&
-         use_gpu_rasterization == other.use_gpu_rasterization &&
-         device_scale_factor == other.device_scale_factor &&
-         max_tile_size == other.max_tile_size &&
-         gpu_raster_max_texture_size == other.gpu_raster_max_texture_size &&
-         max_untiled_layer_size == other.max_untiled_layer_size &&
-         default_tile_size == other.default_tile_size &&
-         layer_content_bounds == other.layer_content_bounds;
-}
+    const AffectingParams& other) const = default;
 
 // TileSizeCalculator.
 TileSizeCalculator::TileSizeCalculator(PictureLayerImpl* layer_impl)
@@ -138,8 +129,8 @@
       is_using_raw_draw_(features::IsUsingRawDraw()),
       raw_draw_tile_size_factor_(features::RawDrawTileSizeFactor()) {}
 
-bool TileSizeCalculator::IsAffectingParamsChanged() {
-  AffectingParams new_params = GetAffectingParams();
+bool TileSizeCalculator::UpdateAffectingParams(gfx::Size content_bounds) {
+  AffectingParams new_params = GetAffectingParams(content_bounds);
 
   if (affecting_params_ == new_params)
     return false;
@@ -148,7 +139,8 @@
   return true;
 }
 
-TileSizeCalculator::AffectingParams TileSizeCalculator::GetAffectingParams() {
+TileSizeCalculator::AffectingParams TileSizeCalculator::GetAffectingParams(
+    gfx::Size content_bounds) const {
   AffectingParams params;
   LayerTreeImpl* layer_tree_impl = layer_impl()->layer_tree_impl();
   params.max_texture_size = layer_tree_impl->max_texture_size();
@@ -162,13 +154,11 @@
   params.max_untiled_layer_size =
       layer_tree_impl->settings().max_untiled_layer_size;
   params.default_tile_size = layer_tree_impl->settings().default_tile_size;
-  params.layer_content_bounds = layer_impl()->content_bounds();
+  params.content_bounds = content_bounds;
   return params;
 }
 
-gfx::Size TileSizeCalculator::CalculateTileSize() {
-  gfx::Size content_bounds = layer_impl()->content_bounds();
-
+gfx::Size TileSizeCalculator::CalculateTileSize(gfx::Size content_bounds) {
   if (layer_impl()->is_backdrop_filter_mask()) {
     // Backdrop filter masks are not tiled, so if we can't cover the whole mask
     // with one tile, we shouldn't have such a tiling at all.
@@ -181,8 +171,9 @@
 
   // If |affecting_params_| is already computed and not changed, return
   // pre-calculated tile size.
-  if (!IsAffectingParamsChanged())
+  if (!UpdateAffectingParams(content_bounds)) {
     return tile_size_;
+  }
 
   int default_tile_width = 0;
   int default_tile_height = 0;
diff --git a/cc/layers/tile_size_calculator.h b/cc/layers/tile_size_calculator.h
index 02a1255..432993f 100644
--- a/cc/layers/tile_size_calculator.h
+++ b/cc/layers/tile_size_calculator.h
@@ -19,7 +19,7 @@
  public:
   explicit TileSizeCalculator(PictureLayerImpl* layer_impl);
 
-  gfx::Size CalculateTileSize();
+  gfx::Size CalculateTileSize(gfx::Size content_bounds);
 
  private:
   struct AffectingParams {
@@ -31,14 +31,14 @@
     gfx::Size gpu_raster_max_texture_size;
     gfx::Size max_untiled_layer_size;
     gfx::Size default_tile_size;
-    gfx::Size layer_content_bounds;
+    gfx::Size content_bounds;
 
     bool operator==(const AffectingParams& other) const;
   };
 
   PictureLayerImpl* layer_impl() const { return layer_impl_; }
-  AffectingParams GetAffectingParams();
-  bool IsAffectingParamsChanged();
+  AffectingParams GetAffectingParams(gfx::Size content_bounds) const;
+  bool UpdateAffectingParams(gfx::Size content_bounds);
 
   raw_ptr<PictureLayerImpl> layer_impl_;
   const bool is_using_raw_draw_;
diff --git a/chrome/android/chrome_java_resources.gni b/chrome/android/chrome_java_resources.gni
index d1918d9..404cf13 100644
--- a/chrome/android/chrome_java_resources.gni
+++ b/chrome/android/chrome_java_resources.gni
@@ -73,7 +73,6 @@
   "java/res/drawable-hdpi/tabswitcher_border_frame_decoration.9.png",
   "java/res/drawable-hdpi/tabswitcher_border_frame_inner_shadow.9.png",
   "java/res/drawable-hdpi/tabswitcher_border_frame_shadow.9.png",
-  "java/res/drawable-hdpi/verify_checkmark.png",
   "java/res/drawable-ldrtl-v17/btn_back.xml",
   "java/res/drawable-ldrtl-v17/btn_forward.xml",
   "java/res/drawable-ldrtl/google_pay_with_divider.xml",
@@ -134,7 +133,6 @@
   "java/res/drawable-mdpi/tabswitcher_border_frame_decoration.9.png",
   "java/res/drawable-mdpi/tabswitcher_border_frame_inner_shadow.9.png",
   "java/res/drawable-mdpi/tabswitcher_border_frame_shadow.9.png",
-  "java/res/drawable-mdpi/verify_checkmark.png",
   "java/res/drawable-night/virtual_card_enrollment_illustration.xml",
   "java/res/drawable-nodpi/bookmark_widget_preview.png",
   "java/res/drawable-nodpi/widget_preview.png",
@@ -195,7 +193,6 @@
   "java/res/drawable-xhdpi/tabswitcher_border_frame_decoration.9.png",
   "java/res/drawable-xhdpi/tabswitcher_border_frame_inner_shadow.9.png",
   "java/res/drawable-xhdpi/tabswitcher_border_frame_shadow.9.png",
-  "java/res/drawable-xhdpi/verify_checkmark.png",
   "java/res/drawable-xxhdpi/bg_tabstrip_background_tab_outline.9.png",
   "java/res/drawable-xxhdpi/bookmark_check_gray.png",
   "java/res/drawable-xxhdpi/bookmark_move_active.png",
@@ -253,7 +250,6 @@
   "java/res/drawable-xxhdpi/tabswitcher_border_frame_decoration.9.png",
   "java/res/drawable-xxhdpi/tabswitcher_border_frame_inner_shadow.9.png",
   "java/res/drawable-xxhdpi/tabswitcher_border_frame_shadow.9.png",
-  "java/res/drawable-xxhdpi/verify_checkmark.png",
   "java/res/drawable-xxxhdpi/bg_tabstrip_background_tab_outline.9.png",
   "java/res/drawable-xxxhdpi/bookmark_check_gray.png",
   "java/res/drawable-xxxhdpi/bookmark_move_active.png",
@@ -308,7 +304,6 @@
   "java/res/drawable-xxxhdpi/tabswitcher_border_frame_decoration.9.png",
   "java/res/drawable-xxxhdpi/tabswitcher_border_frame_inner_shadow.9.png",
   "java/res/drawable-xxxhdpi/tabswitcher_border_frame_shadow.9.png",
-  "java/res/drawable-xxxhdpi/verify_checkmark.png",
   "java/res/drawable/adaptive_toolbar_preference_header.xml",
   "java/res/drawable/arrow_down.xml",
   "java/res/drawable/arrow_up.xml",
diff --git a/chrome/android/chrome_test_java_sources.gni b/chrome/android/chrome_test_java_sources.gni
index a592f20..b9cc0df 100644
--- a/chrome/android/chrome_test_java_sources.gni
+++ b/chrome/android/chrome_test_java_sources.gni
@@ -80,6 +80,7 @@
   "javatests/src/org/chromium/chrome/browser/automotive/BackButtonToolbarTest.java",
   "javatests/src/org/chromium/chrome/browser/background_sync/BackgroundSyncTest.java",
   "javatests/src/org/chromium/chrome/browser/background_sync/PeriodicBackgroundSyncTest.java",
+  "javatests/src/org/chromium/chrome/browser/bookmarks/AccountBookmarkTest.java",
   "javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkBridgeTest.java",
   "javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkFolderPickerRenderTest.java",
   "javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkModelTest.java",
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
index 56b8415c..3aa5671b 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneBase.java
@@ -20,6 +20,7 @@
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
+import org.chromium.base.Log;
 import org.chromium.base.metrics.RecordUserAction;
 import org.chromium.base.supplier.ObservableSupplier;
 import org.chromium.base.supplier.ObservableSupplierImpl;
@@ -53,6 +54,8 @@
  * incognito modes.
  */
 public abstract class TabSwitcherPaneBase implements Pane, TabSwitcherResetHandler {
+    private static final String TAG = "TabSwitcherPaneBase";
+
     protected final ObservableSupplierImpl<DisplayButtonData> mReferenceButtonDataSupplier =
             new ObservableSupplierImpl<>();
     protected final ObservableSupplierImpl<FullButtonData> mNewTabButtonDataSupplier =
@@ -252,6 +255,11 @@
                         finalRect = coordinator.getRecyclerViewRect();
                         leftOffset = finalRect.left;
                     }
+                    boolean useFallbackAnimation = false;
+                    if (initialRect.isEmpty() || finalRect.isEmpty()) {
+                        Log.d(TAG, "Geometry not ready using fallback animation.");
+                        useFallbackAnimation = true;
+                    }
                     // Ignore left offset and just ensure the width is correct. See crbug/1502437.
                     initialRect.offset(-leftOffset, -hubRect.top);
                     finalRect.offset(-leftOffset, -hubRect.top);
@@ -260,7 +268,7 @@
                                     initialRect,
                                     finalRect,
                                     coordinator.getThumbnailSize(),
-                                    /* useFallbackAnimation= */ false));
+                                    useFallbackAnimation));
                 };
         coordinator.waitForLayoutWithTab(tabId, provideAnimationData);
         return animationDataSupplier;
diff --git a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneCoordinator.java b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneCoordinator.java
index 5baa77b..191e749 100644
--- a/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneCoordinator.java
+++ b/chrome/android/features/tab_ui/java/src/org/chromium/chrome/browser/tasks/tab_management/TabSwitcherPaneCoordinator.java
@@ -241,6 +241,7 @@
 
     /** Destroys the coordinator. */
     public void destroy() {
+        mMediator.destroy();
         mTabListCoordinator.onDestroy();
         mContainerViewChangeProcessor.destroy();
         if (mTabGridDialogCoordinator != null) {
diff --git a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabUiTestHelper.java b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabUiTestHelper.java
index 6d9ce87e..4180d5e 100644
--- a/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabUiTestHelper.java
+++ b/chrome/android/features/tab_ui/javatests/src/org/chromium/chrome/browser/tasks/tab_management/TabUiTestHelper.java
@@ -38,6 +38,7 @@
 import androidx.annotation.ColorInt;
 import androidx.annotation.IntDef;
 import androidx.annotation.Nullable;
+import androidx.annotation.StringRes;
 import androidx.core.view.ViewCompat;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
@@ -756,12 +757,23 @@
         assertTrue(isIncognito != cta.getTabModelSelector().isIncognitoSelected());
         assertTrue(cta.getLayoutManager().isLayoutVisible(LayoutType.TAB_SWITCHER));
 
-        onView(
-                        withContentDescription(
-                                isIncognito
-                                        ? R.string.accessibility_tab_switcher_incognito_stack
-                                        : R.string.accessibility_tab_switcher_standard_stack))
-                .perform(click());
+        @StringRes
+        int contentDescription =
+                isIncognito
+                        ? R.string.accessibility_tab_switcher_incognito_stack
+                        : R.string.accessibility_tab_switcher_standard_stack;
+        if (HubFieldTrial.isHubEnabled()) {
+            onView(
+                            allOf(
+                                    isDescendantOfA(
+                                            withId(
+                                                    org.chromium.chrome.browser.hub.R.id
+                                                            .hub_toolbar)),
+                                    withContentDescription(contentDescription)))
+                    .perform(click());
+        } else {
+            onView(withContentDescription(contentDescription)).perform(click());
+        }
 
         CriteriaHelper.pollUiThread(
                 () -> {
@@ -769,7 +781,13 @@
                             cta.getTabModelSelector().isIncognitoSelected(), is(isIncognito));
                 });
         // Wait for tab list recyclerView to finish animation after tab model switch.
-        RecyclerView recyclerView = cta.findViewById(R.id.tab_list_recycler_view);
+        RecyclerView recyclerView;
+        if (HubFieldTrial.isHubEnabled()) {
+            ViewGroup viewGroup = cta.findViewById(getTabSwitcherAncestorId(cta));
+            recyclerView = viewGroup.findViewById(R.id.tab_list_recycler_view);
+        } else {
+            recyclerView = cta.findViewById(R.id.tab_list_recycler_view);
+        }
         waitForStableRecyclerView(recyclerView);
     }
 
diff --git a/chrome/android/java/res/drawable-hdpi/verify_checkmark.png b/chrome/android/java/res/drawable-hdpi/verify_checkmark.png
deleted file mode 100644
index 07f5fff..0000000
--- a/chrome/android/java/res/drawable-hdpi/verify_checkmark.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-mdpi/verify_checkmark.png b/chrome/android/java/res/drawable-mdpi/verify_checkmark.png
deleted file mode 100644
index 510ae20..0000000
--- a/chrome/android/java/res/drawable-mdpi/verify_checkmark.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xhdpi/verify_checkmark.png b/chrome/android/java/res/drawable-xhdpi/verify_checkmark.png
deleted file mode 100644
index 2032bf2..0000000
--- a/chrome/android/java/res/drawable-xhdpi/verify_checkmark.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxhdpi/verify_checkmark.png b/chrome/android/java/res/drawable-xxhdpi/verify_checkmark.png
deleted file mode 100644
index 0c44dcf2..0000000
--- a/chrome/android/java/res/drawable-xxhdpi/verify_checkmark.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/drawable-xxxhdpi/verify_checkmark.png b/chrome/android/java/res/drawable-xxxhdpi/verify_checkmark.png
deleted file mode 100644
index a3c594d..0000000
--- a/chrome/android/java/res/drawable-xxxhdpi/verify_checkmark.png
+++ /dev/null
Binary files differ
diff --git a/chrome/android/java/res/layout/autofill_card_unmask_prompt.xml b/chrome/android/java/res/layout/autofill_card_unmask_prompt.xml
index 845954d..2890a01 100644
--- a/chrome/android/java/res/layout/autofill_card_unmask_prompt.xml
+++ b/chrome/android/java/res/layout/autofill_card_unmask_prompt.xml
@@ -213,19 +213,19 @@
 
                 <ProgressBar
                     android:id="@+id/verification_progress_bar"
-                    android:layout_width="36dp"
-                    android:layout_height="36dp"
+                    android:layout_width="@dimen/autofill_dialog_progress_bar_size"
+                    android:layout_height="@dimen/autofill_dialog_progress_bar_size"
                     android:layout_marginBottom="8dp"
                     android:layout_marginTop="16dp"
                     android:visibility="gone" />
 
                 <ImageView
                     android:id="@+id/verification_success"
-                    android:layout_width="wrap_content"
-                    android:layout_height="wrap_content"
+                    android:layout_width="@dimen/autofill_dialog_progress_bar_size"
+                    android:layout_height="@dimen/autofill_dialog_progress_bar_size"
                     android:layout_marginBottom="8dp"
                     android:layout_marginTop="16dp"
-                    android:src="@drawable/verify_checkmark"
+                    android:src="@drawable/checkmark_blue"
                     android:visibility="gone"
                     android:importantForAccessibility="no" />
 
diff --git a/chrome/android/java/res/layout/improved_bookmark_save_flow.xml b/chrome/android/java/res/layout/improved_bookmark_save_flow.xml
index 9b8e6020..c0ba86e1 100644
--- a/chrome/android/java/res/layout/improved_bookmark_save_flow.xml
+++ b/chrome/android/java/res/layout/improved_bookmark_save_flow.xml
@@ -67,6 +67,7 @@
           android:focusable="false"
           android:clickable="false" >
         <TextView
+            android:id="@+id/bookmark_title"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:text="@string/bookmark_save_flow_title"
diff --git a/chrome/android/java/res/values/dimens.xml b/chrome/android/java/res/values/dimens.xml
index 8198dc9..98f1b2f 100644
--- a/chrome/android/java/res/values/dimens.xml
+++ b/chrome/android/java/res/values/dimens.xml
@@ -460,4 +460,7 @@
     <dimen name="autofill_bottom_sheet_spacing_extra_small">8dp</dimen>
     <dimen name="autofill_bottom_sheet_spacing_medium">16dp</dimen>
 
+    <!-- Autofill dialog dimensions. -->
+    <dimen name="autofill_dialog_progress_bar_size">36dp</dimen>
+
 </resources>
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
index 2aa2009..8eb3663 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/ChromeTabbedActivity.java
@@ -578,6 +578,7 @@
         @LaunchIntentDispatcher.Action
         int action = maybeDispatchExplicitMainViewIntent(intent, DispatchedBy.ON_CREATE);
         if (action != LaunchIntentDispatcher.Action.CONTINUE) {
+            Log.i(TAG_MULTI_INSTANCE, "Dispatched explicit .Main (CTA) VIEW intent to CCT.");
             return action;
         }
         return super.maybeDispatchLaunchIntent(intent, savedInstanceState);
@@ -2698,7 +2699,9 @@
                         + "\nIntent component: "
                         + (intent.getComponent() == null
                                 ? "N/A"
-                                : intent.getComponent().getClassName());
+                                : intent.getComponent().getClassName())
+                        + "\nIntent hash: "
+                        + System.identityHashCode(intent);
         Log.i(TAG_MULTI_INSTANCE, logMessage);
         // Only crash-report if a valid window ID is allocated to launch the intent.
         if (windowId == INVALID_WINDOW_ID) return;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowCoordinator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowCoordinator.java
index 428ed5a..6ea1ba1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowCoordinator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowCoordinator.java
@@ -34,6 +34,7 @@
 import org.chromium.components.image_fetcher.ImageFetcherConfig;
 import org.chromium.components.image_fetcher.ImageFetcherFactory;
 import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
+import org.chromium.components.signin.identitymanager.IdentityManager;
 import org.chromium.ui.accessibility.AccessibilityState;
 import org.chromium.ui.modelutil.PropertyKey;
 import org.chromium.ui.modelutil.PropertyModel;
@@ -63,13 +64,16 @@
      * @param bottomSheetController Allows displaying content in the bottom sheet.
      * @param shoppingService Allows un/subscribing for product updates, used for price-tracking.
      * @param userEducationHelper A means of triggering IPH.
+     * @param profile The current chrome profile.
+     * @param identityManager The {@link IdentityManager} which supplies the account data.
      */
     public BookmarkSaveFlowCoordinator(
             @NonNull Context context,
             @NonNull BottomSheetController bottomSheetController,
-            ShoppingService shoppingService,
+            @NonNull ShoppingService shoppingService,
             @NonNull UserEducationHelper userEducationHelper,
-            Profile profile) {
+            @NonNull Profile profile,
+            @NonNull IdentityManager identityManager) {
         mContext = context;
         mBottomSheetController = bottomSheetController;
         mUserEducationHelper = userEducationHelper;
@@ -121,7 +125,8 @@
                         this::close,
                         shoppingService,
                         bookmarkImageFetcher,
-                        mProfile);
+                        mProfile,
+                        identityManager);
     }
 
     /**
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java
index 9c1706e..dd65dba 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediator.java
@@ -7,9 +7,13 @@
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.os.Build;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.style.ForegroundColorSpan;
 import android.view.View;
 import android.widget.CompoundButton;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.StringRes;
 import androidx.annotation.VisibleForTesting;
@@ -27,11 +31,14 @@
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.components.bookmarks.BookmarkId;
 import org.chromium.components.bookmarks.BookmarkItem;
+import org.chromium.components.browser_ui.styles.SemanticColorUtils;
 import org.chromium.components.commerce.core.CommerceSubscription;
 import org.chromium.components.commerce.core.ShoppingService;
 import org.chromium.components.commerce.core.SubscriptionsObserver;
 import org.chromium.components.feature_engagement.EventConstants;
 import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
+import org.chromium.components.signin.identitymanager.ConsentLevel;
+import org.chromium.components.signin.identitymanager.IdentityManager;
 import org.chromium.ui.modelutil.PropertyModel;
 import org.chromium.url.GURL;
 
@@ -54,6 +61,7 @@
     private final BookmarkModel mBookmarkModel;
     private final ShoppingService mShoppingService;
     private final Profile mProfile;
+    private final IdentityManager mIdentityManager;
 
     private BookmarkId mBookmarkId;
     private PowerBookmarkMeta mPowerBookmarkMeta;
@@ -72,15 +80,17 @@
      * @param shoppingService Used to manage the price-tracking subscriptions.
      * @param bookmarkImageFetcher Used to fetch images/favicons for bookmarks.
      * @param profile The current chrome profile.
+     * @param identityManager The {@link IdentityManager} which supplies the account data.
      */
     public BookmarkSaveFlowMediator(
-            BookmarkModel bookmarkModel,
-            PropertyModel propertyModel,
-            Context context,
-            Runnable closeRunnable,
-            ShoppingService shoppingService,
-            BookmarkImageFetcher bookmarkImageFetcher,
-            Profile profile) {
+            @NonNull BookmarkModel bookmarkModel,
+            @NonNull PropertyModel propertyModel,
+            @NonNull Context context,
+            @NonNull Runnable closeRunnable,
+            @NonNull ShoppingService shoppingService,
+            @NonNull BookmarkImageFetcher bookmarkImageFetcher,
+            @NonNull Profile profile,
+            @NonNull IdentityManager identityManager) {
         mBookmarkModel = bookmarkModel;
         mBookmarkModel.addObserver(this);
 
@@ -95,6 +105,7 @@
 
         mBookmarkImageFetcher = bookmarkImageFetcher;
         mProfile = profile;
+        mIdentityManager = identityManager;
     }
 
     /**
@@ -151,14 +162,10 @@
         mFolderName = mBookmarkModel.getBookmarkTitle(item.getParentId());
 
         if (BookmarkFeatures.isAndroidImprovedBookmarksEnabled()) {
-            String folderDisplayTextRaw = getFolderDisplayTextRaw(wasBookmarkMoved);
-            String folderDisplayText = getFolderDisplayText(wasBookmarkMoved);
+            mPropertyModel.set(ImprovedBookmarkSaveFlowProperties.TITLE, createTitleCharSequence());
             mPropertyModel.set(
-                    ImprovedBookmarkSaveFlowProperties.FOLDER_TEXT,
-                    new FolderText(
-                            folderDisplayText,
-                            folderDisplayTextRaw.indexOf(FOLDER_TEXT_TOKEN),
-                            mFolderName.length()));
+                    ImprovedBookmarkSaveFlowProperties.SUBTITLE,
+                    createSubTitleCharSequnce(wasBookmarkMoved));
         } else {
             mPropertyModel.set(
                     BookmarkSaveFlowProperties.TITLE_TEXT,
@@ -183,6 +190,54 @@
         }
     }
 
+    private CharSequence createTitleCharSequence() {
+        assert BookmarkFeatures.isAndroidImprovedBookmarksEnabled();
+
+        if (BookmarkFeatures.isBookmarksAccountStorageEnabled()) {
+            return createHighlightedCharSequence(
+                    mContext,
+                    new FolderText(
+                            mContext.getString(
+                                    R.string.account_bookmark_save_flow_title, mFolderName),
+                            mContext.getString(R.string.account_bookmark_save_flow_title)
+                                    .indexOf(FOLDER_TEXT_TOKEN),
+                            mFolderName.length()));
+        } else {
+            return mContext.getString(R.string.bookmark_save_flow_title);
+        }
+    }
+
+    private CharSequence createSubTitleCharSequnce(boolean wasBookmarkMoved) {
+        if (BookmarkFeatures.isBookmarksAccountStorageEnabled()) {
+            BookmarkItem bookmarkItem = mBookmarkModel.getBookmarkById(mBookmarkId);
+            return bookmarkItem.isAccountBookmark()
+                    ? mIdentityManager.getPrimaryAccountInfo(ConsentLevel.SIGNIN).getEmail()
+                    : mContext.getString(R.string.account_bookmark_save_flow_subtitle_local);
+        } else {
+            String folderDisplayTextRaw = getFolderDisplayTextRaw(wasBookmarkMoved);
+            String folderDisplayText = getFolderDisplayText(wasBookmarkMoved);
+            return createHighlightedCharSequence(
+                    mContext,
+                    new FolderText(
+                            folderDisplayText,
+                            folderDisplayTextRaw.indexOf(FOLDER_TEXT_TOKEN),
+                            mFolderName.length()));
+        }
+    }
+
+    @VisibleForTesting
+    static CharSequence createHighlightedCharSequence(Context context, FolderText folderText) {
+        SpannableString ss = new SpannableString(folderText.getDisplayText());
+        ForegroundColorSpan fcs =
+                new ForegroundColorSpan(SemanticColorUtils.getDefaultTextColorAccent1(context));
+        ss.setSpan(
+                fcs,
+                folderText.getFolderTitleStartIndex(),
+                folderText.getFolderTitleEndIndex(),
+                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+        return ss;
+    }
+
     private void bindPowerBookmarkProperties(
             @Nullable PowerBookmarkMeta meta, boolean fromExplicitTrackUi) {
         if (meta == null) return;
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
index baa13114..0d0acd1 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/BookmarkUtils.java
@@ -47,6 +47,7 @@
 import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
 import org.chromium.chrome.browser.profiles.Profile;
 import org.chromium.chrome.browser.read_later.ReadingListUtils;
+import org.chromium.chrome.browser.signin.services.IdentityServicesProvider;
 import org.chromium.chrome.browser.tab.Tab;
 import org.chromium.chrome.browser.ui.favicon.FaviconUtils;
 import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
@@ -163,7 +164,8 @@
                         bottomSheetController,
                         shoppingService,
                         new UserEducationHelper(activity, new Handler()),
-                        profile);
+                        profile,
+                        IdentityServicesProvider.get().getIdentityManager(profile));
         bookmarkSaveFlowCoordinator.show(
                 bookmarkId, fromExplicitTrackUi, wasBookmarkMoved, isNewBookmark);
     }
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowProperties.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowProperties.java
index 1465996..24d75b51d 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowProperties.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowProperties.java
@@ -44,7 +44,9 @@
             BOOKMARK_ROW_CLICK_LISTENER = new WritableObjectPropertyKey<>();
     public static final WritableObjectPropertyKey<Drawable> BOOKMARK_ROW_ICON =
             new WritableObjectPropertyKey<>();
-    public static final WritableObjectPropertyKey<FolderText> FOLDER_TEXT =
+    public static final WritableObjectPropertyKey<CharSequence> TITLE =
+            new WritableObjectPropertyKey<>();
+    public static final WritableObjectPropertyKey<CharSequence> SUBTITLE =
             new WritableObjectPropertyKey<>();
     public static final WritableBooleanPropertyKey PRICE_TRACKING_VISIBLE =
             new WritableBooleanPropertyKey();
@@ -58,7 +60,8 @@
     private static final PropertyKey[] NEW_KEYS = {
         BOOKMARK_ROW_CLICK_LISTENER,
         BOOKMARK_ROW_ICON,
-        FOLDER_TEXT,
+        TITLE,
+        SUBTITLE,
         PRICE_TRACKING_VISIBLE,
         PRICE_TRACKING_ENABLED,
         PRICE_TRACKING_SWITCH_CHECKED,
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowView.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowView.java
index e1a463b..4f768e2 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowView.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowView.java
@@ -6,9 +6,6 @@
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
-import android.text.SpannableString;
-import android.text.Spanned;
-import android.text.style.ForegroundColorSpan;
 import android.util.AttributeSet;
 import android.view.View;
 import android.widget.CompoundButton;
@@ -16,14 +13,14 @@
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import org.chromium.base.ApiCompatibilityUtils;
 import org.chromium.chrome.R;
-import org.chromium.chrome.browser.bookmarks.ImprovedBookmarkSaveFlowProperties.FolderText;
-import org.chromium.components.browser_ui.styles.SemanticColorUtils;
 
 /** Controls the bookmarks save-flow view. */
 public class ImprovedBookmarkSaveFlowView extends FrameLayout {
     private View mBookmarkContainer;
     private ImageView mBookmarkImageView;
+    private TextView mBookmarkTitleView;
     private TextView mBookmarkSubtitleView;
     private View mPriceTrackingContainer;
     private CompoundButton mPriceTrackingSwitch;
@@ -39,12 +36,20 @@
 
         mBookmarkContainer = findViewById(R.id.bookmark_container);
         mBookmarkImageView = findViewById(R.id.bookmark_image);
+        mBookmarkTitleView = findViewById(R.id.bookmark_title);
         mBookmarkSubtitleView = findViewById(R.id.bookmark_subtitle);
         mPriceTrackingContainer = findViewById(R.id.price_tracking_container);
         mPriceTrackingSwitch = findViewById(R.id.price_tracking_switch);
 
         mBookmarkContainer.setBackgroundResource(
                 R.drawable.improved_bookmark_save_flow_single_pane_background);
+
+        if (BookmarkFeatures.isBookmarksAccountStorageEnabled()) {
+            ApiCompatibilityUtils.setTextAppearance(
+                    mBookmarkTitleView, R.style.TextAppearance_TextMedium_Secondary);
+            ApiCompatibilityUtils.setTextAppearance(
+                    mBookmarkSubtitleView, R.style.TextAppearance_TextMedium_Secondary);
+        }
     }
 
     void setBookmarkRowClickListener(View.OnClickListener listener) {
@@ -55,18 +60,12 @@
         mBookmarkImageView.setImageDrawable(drawable);
     }
 
-    void setFolderText(FolderText folderText) {
-        SpannableString ss = new SpannableString(folderText.getDisplayText());
-        ForegroundColorSpan fcs =
-                new ForegroundColorSpan(
-                        SemanticColorUtils.getDefaultTextColorAccent1(getContext()));
-        ss.setSpan(
-                fcs,
-                folderText.getFolderTitleStartIndex(),
-                folderText.getFolderTitleEndIndex(),
-                Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
-        // mBookmarkSubtitleView.setMovementMethod(LinkMovementMethod.getInstance());
-        mBookmarkSubtitleView.setText(ss);
+    void setTitle(CharSequence charSequence) {
+        mBookmarkTitleView.setText(charSequence);
+    }
+
+    void setSubtitle(CharSequence charSequence) {
+        mBookmarkSubtitleView.setText(charSequence);
     }
 
     void setPriceTrackingUiVisible(boolean visible) {
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowViewBinder.java b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowViewBinder.java
index 08b3b23..3487df55 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowViewBinder.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowViewBinder.java
@@ -19,9 +19,10 @@
         } else if (propertyKey == ImprovedBookmarkSaveFlowProperties.BOOKMARK_ROW_ICON) {
             improvedSaveFlow.setBookmarkDrawable(
                     model.get(ImprovedBookmarkSaveFlowProperties.BOOKMARK_ROW_ICON));
-        } else if (propertyKey == ImprovedBookmarkSaveFlowProperties.FOLDER_TEXT) {
-            improvedSaveFlow.setFolderText(
-                    model.get(ImprovedBookmarkSaveFlowProperties.FOLDER_TEXT));
+        } else if (propertyKey == ImprovedBookmarkSaveFlowProperties.TITLE) {
+            improvedSaveFlow.setTitle(model.get(ImprovedBookmarkSaveFlowProperties.TITLE));
+        } else if (propertyKey == ImprovedBookmarkSaveFlowProperties.SUBTITLE) {
+            improvedSaveFlow.setSubtitle(model.get(ImprovedBookmarkSaveFlowProperties.SUBTITLE));
         } else if (propertyKey == ImprovedBookmarkSaveFlowProperties.PRICE_TRACKING_VISIBLE) {
             improvedSaveFlow.setPriceTrackingUiVisible(
                     model.get(ImprovedBookmarkSaveFlowProperties.PRICE_TRACKING_VISIBLE));
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabDragSource.java b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabDragSource.java
index 2b958ff3..3d8c339 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabDragSource.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/compositor/overlays/strip/TabDragSource.java
@@ -15,6 +15,7 @@
 import android.graphics.PointF;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
+import android.os.Build;
 import android.util.DisplayMetrics;
 import android.view.DragEvent;
 import android.view.View;
@@ -47,9 +48,12 @@
 import org.chromium.ui.dragdrop.DragDropGlobalState;
 import org.chromium.ui.dragdrop.DragDropGlobalState.TrackerToken;
 import org.chromium.ui.dragdrop.DragDropMetricUtils;
+import org.chromium.ui.dragdrop.DragDropMetricUtils.DragDropTabResult;
 import org.chromium.ui.dragdrop.DragDropMetricUtils.DragDropType;
 import org.chromium.ui.widget.Toast;
 
+import java.util.Locale;
+
 /**
  * Manages initiating tab drag and drop and handles the events that are received during drag and
  * drop process. The tab drag and drop is initiated from the active instance of {@link
@@ -57,6 +61,7 @@
  */
 public class TabDragSource implements View.OnDragListener {
     private static final String TAG = "TabDragSource";
+    private static final String SAMSUNG_LOWER_CASE = "samsung";
     private final WindowAndroid mWindowAndroid;
     private MultiInstanceManager mMultiInstanceManager;
     private DragAndDropDelegate mDragAndDropDelegate;
@@ -83,6 +88,7 @@
     private float mLastXDp;
     private int mLastAction;
     private boolean mHoveringInStrip;
+    private boolean mIsDeviceSamsung;
 
     /**
      * Prepares the toolbar view to listen to the drag events and data drop after the drag is
@@ -121,6 +127,8 @@
         if (TabUiFeatureUtilities.isTabDragAsWindowEnabled()) {
             mAppIcon = context.getPackageManager().getApplicationIcon(context.getApplicationInfo());
         }
+
+        mIsDeviceSamsung = Build.MANUFACTURER.toLowerCase(Locale.US).equals(SAMSUNG_LOWER_CASE);
     }
 
     /**
@@ -147,6 +155,17 @@
         if (MultiWindowUtils.getInstance().hasAtMostOneTabWithHomepageEnabled(mTabModelSelector)) {
             return false;
         }
+
+        // Do not allow drag when we are in non-split screen mode on non-Samsung device since we
+        // don't support tab drag to open new instances of Chrome given OS/OEM limitations (the drag
+        // won't actually create a new instance on any OEM besides Samsung).
+        // @TODO(crbug.com/1520080): Make this configurable via Finch in case we find more OEMs
+        // where this works.
+        if (!MultiWindowUtils.getInstance().isInMultiWindowMode(getActivity())
+                && !mIsDeviceSamsung) {
+            return false;
+        }
+
         if (sDragTrackerToken != null) {
             Log.w(TAG, "Attempting to start drag before clearing state from prior drag");
         }
@@ -168,6 +187,10 @@
         return res;
     }
 
+    void setIsDeviceSamsungForTesting(boolean isDeviceSamSung) {
+        mIsDeviceSamsung = isDeviceSamSung;
+    }
+
     @VisibleForTesting
     void updateShadowView(@NonNull Tab tabBeingDragged, @NonNull View dragSourceView) {
         // Shadow view is unused for drag as window.
@@ -236,10 +259,12 @@
                 }
                 break;
             case DragEvent.ACTION_DROP:
-                res =
-                        didOccurInTabStrip(dragEvent.getY())
-                                ? onDrop(dragEvent.getX(), dragEvent)
-                                : false;
+                if (didOccurInTabStrip(dragEvent.getY())) {
+                    res = onDrop(dragEvent.getX(), dragEvent);
+                } else {
+                    DragDropMetricUtils.recordTabDragDropResult(DragDropTabResult.IGNORED_TOOLBAR);
+                    res = false;
+                }
                 break;
         }
         mLastAction = dragEvent.getAction();
@@ -318,6 +343,8 @@
         if (!tabDraggedBelongToCurrentModel
                 && TabUiFeatureUtilities.DISABLE_STRIP_TO_STRIP_DIFF_MODEL_DD.getValue()) {
             // Disallow dropping into another model when param enabled.
+            DragDropMetricUtils.recordTabDragDropResult(
+                    DragDropTabResult.IGNORED_DIFF_MODEL_NOT_SUPPORTED);
             return false;
         }
         if (!tabDraggedBelongToCurrentModel) {
@@ -367,6 +394,10 @@
             DragDropGlobalState.clear(sDragTrackerToken);
             sDragTrackerToken = null;
         }
+        // Only record for source strip to avoid duplicate.
+        if (dropHandled) {
+            DragDropMetricUtils.recordTabDragDropResult(DragDropTabResult.SUCCESS);
+        }
         return true;
     }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java
index 108fd11..98e1af7 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/features/toolbar/CustomTabToolbar.java
@@ -158,6 +158,10 @@
 
     private final Handler mTaskHandler = new Handler();
 
+    // The resource ID of the most recently set security icon. Used for testing since
+    // VectorDrawables can't be straightforwardly tested for equality..
+    private int mSecurityIconResourceForTesting;
+
     /** Whether to use the toolbar as handle to resize the Window height. */
     public interface HandleStrategy {
         /**
@@ -1019,7 +1023,7 @@
 
     /** Custom tab-specific implementation of the LocationBar interface. */
     @VisibleForTesting
-    class CustomTabLocationBar
+    public class CustomTabLocationBar
             implements LocationBar,
                     UrlBar.UrlBarDelegate,
                     LocationBarDataProvider.Observer,
@@ -1448,6 +1452,7 @@
                 ImageViewCompat.setImageTintList(mSecurityButton, colorStateList);
             }
             mAnimDelegate.updateSecurityButton(securityIconResource);
+            mSecurityIconResourceForTesting = securityIconResource;
 
             int contentDescriptionId =
                     mLocationBarDataProvider.getSecurityIconContentDescriptionResourceId();
@@ -1455,6 +1460,11 @@
             mSecurityButton.setContentDescription(contentDescription);
         }
 
+        @VisibleForTesting(otherwise = VisibleForTesting.NONE)
+        public int getSecurityIconResourceForTesting() {
+            return mSecurityIconResourceForTesting;
+        }
+
         private void animateCookieControlsIcon() {
             mTaskHandler.removeCallbacksAndMessages(null);
             mAnimDelegate.setUseRotationSecurityButtonTransition(true);
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/dragdrop/ChromeTabbedOnDragListener.java b/chrome/android/java/src/org/chromium/chrome/browser/dragdrop/ChromeTabbedOnDragListener.java
index 44e697d..030eeb5 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/dragdrop/ChromeTabbedOnDragListener.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/dragdrop/ChromeTabbedOnDragListener.java
@@ -21,6 +21,7 @@
 import org.chromium.ui.base.WindowAndroid;
 import org.chromium.ui.dragdrop.DragDropGlobalState;
 import org.chromium.ui.dragdrop.DragDropMetricUtils;
+import org.chromium.ui.dragdrop.DragDropMetricUtils.DragDropTabResult;
 import org.chromium.ui.dragdrop.DragDropMetricUtils.DragDropType;
 
 /**
@@ -74,15 +75,22 @@
                         || mLayoutStateProviderSupplier
                                 .get()
                                 .isLayoutVisible(LayoutType.TAB_SWITCHER)) {
+                    DragDropMetricUtils.recordTabDragDropResult(
+                            DragDropTabResult.IGNORED_TAB_SWITCHER);
                     return false;
                 }
 
                 DragDropGlobalState globalState = DragDropGlobalState.getState(dragEvent);
                 Tab draggedTab = getTabFromGlobalState(globalState);
-                if (globalState == null
-                        || draggedTab == null
-                        || globalState.isDragSourceInstance(
-                                mMultiInstanceManager.getCurrentInstanceId())) {
+                if (globalState == null || draggedTab == null) {
+                    DragDropMetricUtils.recordTabDragDropResult(
+                            DragDropTabResult.ERROR_TAB_NOT_FOUND);
+                    return false;
+                }
+                if (globalState.isDragSourceInstance(
+                        mMultiInstanceManager.getCurrentInstanceId())) {
+                    DragDropMetricUtils.recordTabDragDropResult(
+                            DragDropTabResult.IGNORED_SAME_INSTANCE);
                     return false;
                 }
 
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
index f7979e21..0657454 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/init/AsyncInitializationActivity.java
@@ -21,6 +21,7 @@
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
+import org.chromium.base.Log;
 import org.chromium.base.StrictModeContext;
 import org.chromium.base.SysUtils;
 import org.chromium.base.TraceEvent;
@@ -60,6 +61,8 @@
     @VisibleForTesting
     public static final String FIRST_DRAW_COMPLETED_TIME_MS_UMA = "FirstDrawCompletedTime";
 
+    public static final String TAG_MULTI_INSTANCE = "MultiInstance";
+
     protected final Handler mHandler;
 
     private final NativeInitializationController mNativeInitializationController =
@@ -760,6 +763,8 @@
 
         // TODO(https://crbug.com/1252526): Remove stack trace logging once root cause of bug is
         // identified & fixed.
+        // Piggybacking for multi-instance bug crbug.com/1484026.
+        Log.i(TAG_MULTI_INSTANCE, "Tracing recreate().");
         Thread.dumpStack();
     }
 
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/AccountBookmarkTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/AccountBookmarkTest.java
new file mode 100644
index 0000000..39c0c8d
--- /dev/null
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/AccountBookmarkTest.java
@@ -0,0 +1,127 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.chrome.browser.bookmarks;
+
+import static androidx.test.espresso.Espresso.onView;
+import static androidx.test.espresso.assertion.ViewAssertions.matches;
+import static androidx.test.espresso.matcher.ViewMatchers.hasDescendant;
+import static androidx.test.espresso.matcher.ViewMatchers.isDescendantOfA;
+import static androidx.test.espresso.matcher.ViewMatchers.isDisplayed;
+import static androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility;
+import static androidx.test.espresso.matcher.ViewMatchers.withId;
+import static androidx.test.espresso.matcher.ViewMatchers.withText;
+
+import static org.hamcrest.Matchers.allOf;
+import static org.mockito.ArgumentMatchers.matches;
+
+import static org.chromium.content_public.browser.test.util.TestThreadUtils.runOnUiThreadBlocking;
+
+import android.view.View;
+
+import androidx.recyclerview.widget.RecyclerView;
+import androidx.test.espresso.ViewInteraction;
+import androidx.test.espresso.matcher.ViewMatchers;
+import androidx.test.filters.SmallTest;
+
+import org.hamcrest.Matcher;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.TestRule;
+import org.junit.runner.RunWith;
+
+import org.chromium.base.test.util.CommandLineFlags;
+import org.chromium.base.test.util.CriteriaHelper;
+import org.chromium.base.test.util.DoNotBatch;
+import org.chromium.base.test.util.Features;
+import org.chromium.base.test.util.Features.DisableFeatures;
+import org.chromium.base.test.util.Features.EnableFeatures;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
+import org.chromium.chrome.browser.flags.ChromeSwitches;
+import org.chromium.chrome.browser.profiles.Profile;
+import org.chromium.chrome.browser.sync.SyncTestRule;
+import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
+import org.chromium.chrome.test.R;
+import org.chromium.chrome.test.util.BookmarkTestRule;
+import org.chromium.components.browser_ui.widget.RecyclerViewTestUtils;
+
+@RunWith(ChromeJUnit4ClassRunner.class)
+@CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
+@EnableFeatures({ChromeFeatureList.ENABLE_BOOKMARK_FOLDERS_FOR_ACCOUNT_STORAGE})
+// TODO(crbug.com/1168590): Once SyncTestRule supports batching, investigate batching this suite.
+@DoNotBatch(reason = "SyncTestRule doesn't support batching.")
+public class AccountBookmarkTest {
+    private static final String BOOKMARKS_TYPE_STRING = "Bookmarks";
+
+    @Rule public SyncTestRule mSyncTestRule = new SyncTestRule();
+    @Rule public BookmarkTestRule mBookmarkTestRule = new BookmarkTestRule();
+    @Rule public TestRule mProcessor = new Features.JUnitProcessor();
+
+    private BookmarkManagerCoordinator mBookmarkManagerCoordinator;
+    private BookmarkModel mBookmarkModel;
+    private RecyclerView mRecyclerView;
+
+    @Before
+    public void setUp() throws Exception {
+        mBookmarkModel =
+                runOnUiThreadBlocking(
+                        () -> BookmarkModel.getForProfile(Profile.getLastUsedRegularProfile()));
+        mSyncTestRule.setUpAccountAndSignInForTesting();
+        mBookmarkManagerCoordinator =
+                mBookmarkTestRule.showBookmarkManager(mSyncTestRule.getActivity());
+    }
+
+    @Test
+    @SmallTest
+    @EnableFeatures({ChromeFeatureList.REPLACE_SYNC_PROMOS_WITH_SIGN_IN_PROMOS})
+    public void testReplaceSyncPromosWithSigninPromos() {
+        CriteriaHelper.pollUiThread(() -> mBookmarkModel.getAccountMobileFolderId() != null);
+        RecyclerViewTestUtils.waitForStableMvcRecyclerView(
+                mBookmarkManagerCoordinator.getRecyclerViewForTesting());
+        checkTopLevelAccountFoldersDisplayed();
+    }
+
+    @Test
+    @SmallTest
+    @DisableFeatures({ChromeFeatureList.REPLACE_SYNC_PROMOS_WITH_SIGN_IN_PROMOS})
+    public void testEnableDatatypesManually() {
+        mSyncTestRule.setSelectedTypes(true, null);
+        CriteriaHelper.pollUiThread(() -> mBookmarkModel.getAccountMobileFolderId() != null);
+        RecyclerViewTestUtils.waitForStableMvcRecyclerView(
+                mBookmarkManagerCoordinator.getRecyclerViewForTesting());
+        checkTopLevelAccountFoldersDisplayed();
+    }
+
+    private void checkTopLevelAccountFoldersDisplayed() {
+        checkToolbarTitleMatches("Bookmarks");
+        onView(withText("In your Google Account")).check(matches(isDisplayed()));
+        getRecyclerViewItem("Mobile bookmarks", true).check(matches(isDisplayed()));
+        onView(withText("Only on this device")).check(matches(isDisplayed()));
+        getRecyclerViewItem("Mobile bookmarks", false).check(matches(isDisplayed()));
+        getRecyclerViewItem("Reading list", false).check(matches(isDisplayed()));
+    }
+
+    private ViewInteraction getRecyclerViewItem(String text, boolean isAccountBookmark) {
+        return onView(getRecyclerItemMatcher(text, isAccountBookmark));
+    }
+
+    private Matcher<View> getRecyclerItemMatcher(String text, boolean isAccountBookmark) {
+        ViewMatchers.Visibility visibility =
+                isAccountBookmark ? ViewMatchers.Visibility.GONE : ViewMatchers.Visibility.VISIBLE;
+        return allOf(
+                withId(R.id.container),
+                hasDescendant(withText(text)),
+                hasDescendant(
+                        allOf(
+                                withId(R.id.local_bookmark_image),
+                                withEffectiveVisibility(visibility))));
+    }
+
+    // Checks the toolbar title against the given string.
+    private void checkToolbarTitleMatches(String text) {
+        onView(allOf(isDescendantOfA(withId(R.id.action_bar)), withText(text)))
+                .check(matches(isDisplayed()));
+    }
+}
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowTest.java
index 9e05c324..a90d3649 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowTest.java
@@ -32,6 +32,7 @@
 import org.chromium.base.test.util.CriteriaHelper;
 import org.chromium.base.test.util.Feature;
 import org.chromium.base.test.util.Features.DisableFeatures;
+import org.chromium.base.test.util.Features.EnableFeatures;
 import org.chromium.base.test.util.JniMocker;
 import org.chromium.chrome.browser.ChromeTabbedActivity;
 import org.chromium.chrome.browser.commerce.PriceTrackingUtils;
@@ -54,6 +55,7 @@
 import org.chromium.components.commerce.core.ShoppingService;
 import org.chromium.components.power_bookmarks.PowerBookmarkMeta;
 import org.chromium.components.power_bookmarks.ShoppingSpecifics;
+import org.chromium.components.signin.identitymanager.IdentityManager;
 import org.chromium.content_public.browser.test.util.ClickUtils;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
 import org.chromium.url.GURL;
@@ -64,7 +66,10 @@
 /** Tests for the bookmark save flow. */
 @RunWith(ChromeJUnit4ClassRunner.class)
 @CommandLineFlags.Add({ChromeSwitches.DISABLE_FIRST_RUN_EXPERIENCE})
-@DisableFeatures(ChromeFeatureList.ANDROID_IMPROVED_BOOKMARKS)
+@DisableFeatures({
+    ChromeFeatureList.ANDROID_IMPROVED_BOOKMARKS,
+    ChromeFeatureList.ENABLE_BOOKMARK_FOLDERS_FOR_ACCOUNT_STORAGE
+})
 public class BookmarkSaveFlowTest {
     @Rule
     public ChromeTabbedActivityTestRule mActivityTestRule = new ChromeTabbedActivityTestRule();
@@ -82,6 +87,7 @@
     @Mock private ShoppingService mShoppingService;
     @Mock private PriceTrackingUtils.Natives mMockPriceTrackingUtilsJni;
     @Mock private UserEducationHelper mUserEducationHelper;
+    @Mock private IdentityManager mIdentityManager;
 
     private BookmarkSaveFlowCoordinator mBookmarkSaveFlowCoordinator;
     private BottomSheetController mBottomSheetController;
@@ -110,7 +116,8 @@
                                     mBottomSheetController,
                                     mShoppingService,
                                     mUserEducationHelper,
-                                    Profile.getLastUsedRegularProfile());
+                                    Profile.getLastUsedRegularProfile(),
+                                    mIdentityManager);
                 });
 
         loadBookmarkModel();
@@ -154,6 +161,41 @@
 
     @Test
     @MediumTest
+    @Feature({"RenderTest"})
+    @EnableFeatures(ChromeFeatureList.ANDROID_IMPROVED_BOOKMARKS)
+    public void testBookmarkSaveFlow_improvedBookmarks() throws IOException {
+        TestThreadUtils.runOnUiThreadBlockingNoException(
+                () -> {
+                    BookmarkId id = addBookmark("Test bookmark", new GURL("http://a.com"));
+                    mBookmarkSaveFlowCoordinator.show(id);
+                    return null;
+                });
+        mRenderTestRule.render(
+                mBookmarkSaveFlowCoordinator.getViewForTesting(), "bookmark_save_flow_improved");
+    }
+
+    @Test
+    @MediumTest
+    @Feature({"RenderTest"})
+    @EnableFeatures({
+        ChromeFeatureList.ANDROID_IMPROVED_BOOKMARKS,
+        ChromeFeatureList.ENABLE_BOOKMARK_FOLDERS_FOR_ACCOUNT_STORAGE
+    })
+    public void testBookmarkSaveFlow_improvedBookmarks_accountBookmarksEnabled()
+            throws IOException {
+        TestThreadUtils.runOnUiThreadBlockingNoException(
+                () -> {
+                    BookmarkId id = addBookmark("Test bookmark", new GURL("http://a.com"));
+                    mBookmarkSaveFlowCoordinator.show(id);
+                    return null;
+                });
+        mRenderTestRule.render(
+                mBookmarkSaveFlowCoordinator.getViewForTesting(),
+                "bookmark_save_flow_improved_account");
+    }
+
+    @Test
+    @MediumTest
     public void testBookmarkSaveFlow_DestroyAfterHidden() throws IOException {
         TestThreadUtils.runOnUiThreadBlockingNoException(
                 () -> {
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowRenderTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowRenderTest.java
index 42028172..e44cb42 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowRenderTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/bookmarks/ImprovedBookmarkSaveFlowRenderTest.java
@@ -4,6 +4,7 @@
 
 package org.chromium.chrome.browser.bookmarks;
 
+import android.app.Activity;
 import android.graphics.Bitmap;
 import android.graphics.Color;
 import android.graphics.drawable.BitmapDrawable;
@@ -17,6 +18,7 @@
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
+import org.junit.rules.TestRule;
 import org.junit.runner.RunWith;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
@@ -28,8 +30,11 @@
 import org.chromium.base.test.params.ParameterizedRunner;
 import org.chromium.base.test.util.Batch;
 import org.chromium.base.test.util.Feature;
+import org.chromium.base.test.util.Features;
+import org.chromium.base.test.util.Features.EnableFeatures;
 import org.chromium.chrome.R;
 import org.chromium.chrome.browser.bookmarks.ImprovedBookmarkSaveFlowProperties.FolderText;
+import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.test.ChromeJUnit4RunnerDelegate;
 import org.chromium.chrome.test.util.ChromeRenderTestRule;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
@@ -51,10 +56,9 @@
     @ClassParameter
     private static List<ParameterSet> sClassParams = new NightModeParams().getParameters();
 
-    @Rule
-    public final DisableAnimationsTestRule mDisableAnimationsRule = new DisableAnimationsTestRule();
-
     @Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule public TestRule mProcessor = new Features.JUnitProcessor();
+    @Rule public DisableAnimationsTestRule mDisableAnimationsRule = new DisableAnimationsTestRule();
 
     @Rule
     public BaseActivityTestRule<BlankUiTestActivity> mActivityTestRule =
@@ -67,6 +71,7 @@
                     .setBugComponent(ChromeRenderTestRule.Component.UI_BROWSER_BOOKMARKS)
                     .build();
 
+    private Activity mActivity;
     private Bitmap mBitmap;
     private ImprovedBookmarkSaveFlowView mView;
     private LinearLayout mContentView;
@@ -81,7 +86,8 @@
     @Before
     public void setUp() throws Exception {
         mActivityTestRule.launchActivity(null);
-        mActivityTestRule.getActivity().setTheme(R.style.Theme_BrowserUI_DayNight);
+        mActivity = mActivityTestRule.getActivity();
+        mActivity.setTheme(R.style.Theme_BrowserUI_DayNight);
 
         int bitmapSize =
                 mActivityTestRule
@@ -93,16 +99,16 @@
 
         TestThreadUtils.runOnUiThreadBlocking(
                 () -> {
-                    mContentView = new LinearLayout(mActivityTestRule.getActivity());
+                    mContentView = new LinearLayout(mActivity);
                     mContentView.setBackgroundColor(Color.WHITE);
 
                     FrameLayout.LayoutParams params =
                             new FrameLayout.LayoutParams(
                                     ViewGroup.LayoutParams.MATCH_PARENT,
                                     ViewGroup.LayoutParams.WRAP_CONTENT);
-                    mActivityTestRule.getActivity().setContentView(mContentView, params);
+                    mActivity.setContentView(mContentView, params);
 
-                    LayoutInflater.from(mActivityTestRule.getActivity())
+                    LayoutInflater.from(mActivity)
                             .inflate(
                                     R.layout.improved_bookmark_save_flow, /* root= */ mContentView);
 
@@ -111,12 +117,12 @@
                             new PropertyModel.Builder(ImprovedBookmarkSaveFlowProperties.ALL_KEYS)
                                     .with(
                                             ImprovedBookmarkSaveFlowProperties.BOOKMARK_ROW_ICON,
-                                            new BitmapDrawable(
-                                                    mActivityTestRule.getActivity().getResources(),
-                                                    mBitmap))
+                                            new BitmapDrawable(mActivity.getResources(), mBitmap))
                                     .with(
-                                            ImprovedBookmarkSaveFlowProperties.FOLDER_TEXT,
-                                            new FolderText("in test folder", 3, 11))
+                                            ImprovedBookmarkSaveFlowProperties.SUBTITLE,
+                                            BookmarkSaveFlowMediator.createHighlightedCharSequence(
+                                                    mActivity,
+                                                    new FolderText("in test folder", 3, 11)))
                                     .with(
                                             ImprovedBookmarkSaveFlowProperties
                                                     .PRICE_TRACKING_VISIBLE,
@@ -139,16 +145,14 @@
     @MediumTest
     @Feature({"RenderTest"})
     public void testFavicon() throws IOException {
-        int bitmapSize =
-                BookmarkUtils.getFaviconDisplaySize(mActivityTestRule.getActivity().getResources());
+        int bitmapSize = BookmarkUtils.getFaviconDisplaySize(mActivity.getResources());
         Bitmap bitmap = Bitmap.createBitmap(bitmapSize, bitmapSize, Bitmap.Config.ARGB_8888);
         bitmap.eraseColor(Color.GREEN);
         TestThreadUtils.runOnUiThreadBlocking(
                 () -> {
                     mModel.set(
                             ImprovedBookmarkSaveFlowProperties.BOOKMARK_ROW_ICON,
-                            new BitmapDrawable(
-                                    mActivityTestRule.getActivity().getResources(), bitmap));
+                            new BitmapDrawable(mActivity.getResources(), bitmap));
                 });
         mRenderTestRule.render(mContentView, "favicon");
     }
@@ -193,4 +197,23 @@
                 });
         mRenderTestRule.render(mContentView, "price_tracking_visible_not_enabled");
     }
+
+    @Test
+    @MediumTest
+    @Feature({"RenderTest"})
+    @EnableFeatures({
+        ChromeFeatureList.ANDROID_IMPROVED_BOOKMARKS,
+        ChromeFeatureList.ENABLE_BOOKMARK_FOLDERS_FOR_ACCOUNT_STORAGE
+    })
+    public void testTitleAndSubtitle() throws IOException {
+        TestThreadUtils.runOnUiThreadBlocking(
+                () -> {
+                    mModel.set(
+                            ImprovedBookmarkSaveFlowProperties.TITLE,
+                            BookmarkSaveFlowMediator.createHighlightedCharSequence(
+                                    mActivity, new FolderText("Saved in Mobile bookmarks", 9, 16)));
+                    mModel.set(ImprovedBookmarkSaveFlowProperties.SUBTITLE, "On this device ");
+                });
+        mRenderTestRule.render(mContentView, "title_and_subtitle");
+    }
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivitySecurityIndicatorTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivitySecurityIndicatorTest.java
index 413f342..a925428 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivitySecurityIndicatorTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/CustomTabActivitySecurityIndicatorTest.java
@@ -31,6 +31,8 @@
 import org.chromium.base.test.util.CriteriaHelper;
 import org.chromium.base.test.util.Features.DisableFeatures;
 import org.chromium.base.test.util.Features.EnableFeatures;
+import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbar;
+import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbar.CustomTabLocationBar;
 import org.chromium.chrome.browser.firstrun.FirstRunStatus;
 import org.chromium.chrome.browser.flags.ChromeFeatureList;
 import org.chromium.chrome.browser.tab.Tab;
@@ -115,9 +117,7 @@
         Assert.assertTrue(expectedDrawable.getBitmap().sameAs(actualDrawable.getBitmap()));
     }
 
-    // Custom tabs should not currently use the new security indicators, even if
-    // the client has the experimental feature enabled.
-    // Regression test for crbug.com/1245733.
+    // Custom tabs should use the new security indicators.
     @Test
     @MediumTest
     @EnableFeatures({ChromeFeatureList.OMNIBOX_UPDATED_CONNECTION_SECURITY_INDICATORS})
@@ -138,23 +138,15 @@
                             ChromeTabUtils.getUrlStringOnUiThread(currentTab), is(mTestPage));
                 });
 
-        // Test that the security indicator is the lock icon.
-        final int expectedSecurityIcon = R.drawable.omnibox_https_valid;
+        // Test that the security indicator is the tune icon.
         ImageView securityButton =
                 mCustomTabActivityTestRule.getActivity().findViewById(R.id.security_button);
         Assert.assertEquals(View.VISIBLE, securityButton.getVisibility());
 
-        ColorStateList colorStateList =
-                AppCompatResources.getColorStateList(
-                        ApplicationProvider.getApplicationContext(),
-                        R.color.default_icon_color_light_tint_list);
-        ImageView expectedSecurityButton =
-                new ImageView(ApplicationProvider.getApplicationContext());
-        expectedSecurityButton.setImageResource(expectedSecurityIcon);
-        ImageViewCompat.setImageTintList(expectedSecurityButton, colorStateList);
-
-        BitmapDrawable expectedDrawable = (BitmapDrawable) expectedSecurityButton.getDrawable();
-        BitmapDrawable actualDrawable = (BitmapDrawable) securityButton.getDrawable();
-        Assert.assertTrue(expectedDrawable.getBitmap().sameAs(actualDrawable.getBitmap()));
+        CustomTabToolbar toolbar =
+                mCustomTabActivityTestRule.getActivity().findViewById(R.id.toolbar);
+        CustomTabLocationBar locationBar = (CustomTabLocationBar) toolbar.getLocationBar();
+        Assert.assertEquals(locationBar.getSecurityIconResourceForTesting(),
+                            R.drawable.omnibox_https_valid_refresh);
     }
 }
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/TrustedCdnPublisherUrlTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/TrustedCdnPublisherUrlTest.java
index 14be7d7f..3afd56f 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/TrustedCdnPublisherUrlTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/customtabs/TrustedCdnPublisherUrlTest.java
@@ -17,6 +17,7 @@
 import android.content.Intent;
 import android.content.res.ColorStateList;
 import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.VectorDrawable;
 import android.util.Pair;
 import android.view.View;
 import android.widget.ImageView;
@@ -56,6 +57,8 @@
 import org.chromium.chrome.browser.browserservices.intents.BrowserServicesIntentDataProvider;
 import org.chromium.chrome.browser.customtabs.content.CustomTabIntentHandler;
 import org.chromium.chrome.browser.customtabs.dependency_injection.BaseCustomTabActivityModule;
+import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbar;
+import org.chromium.chrome.browser.customtabs.features.toolbar.CustomTabToolbar.CustomTabLocationBar;
 import org.chromium.chrome.browser.dependency_injection.ModuleOverridesRule;
 import org.chromium.chrome.browser.firstrun.FirstRunStatus;
 import org.chromium.chrome.browser.flags.ChromeSwitches;
@@ -176,7 +179,7 @@
                 "https://www.example.com/test",
                 "com.example.test",
                 "example.com",
-                R.drawable.omnibox_https_valid);
+                R.drawable.omnibox_https_valid_refresh);
         mScreenShooter.shoot("trustedPublisherUrlHttps");
     }
 
@@ -249,7 +252,7 @@
                 "https://example.com/test",
                 "com.example.test",
                 "example.com",
-                R.drawable.omnibox_https_valid);
+                R.drawable.omnibox_https_valid_refresh);
         TestTouchUtils.performClickOnMainSync(
                 InstrumentationRegistry.getInstrumentation(),
                 mCustomTabActivityTestRule.getActivity().findViewById(R.id.security_button));
@@ -268,7 +271,7 @@
                 "https://example.com/test",
                 "com.example.test",
                 "example.com",
-                R.drawable.omnibox_https_valid);
+                R.drawable.omnibox_https_valid_refresh);
 
         String otherTestUrl = mWebServer.setResponse("/other.html", PAGE_WITH_TITLE, null);
         mCustomTabActivityTestRule.loadUrl(otherTestUrl);
@@ -291,7 +294,7 @@
                 publisherUrl.getSpec(),
                 "com.example.test",
                 "example.com",
-                R.drawable.omnibox_https_valid);
+                R.drawable.omnibox_https_valid_refresh);
 
         final Instrumentation.ActivityMonitor monitor =
                 InstrumentationRegistry.getInstrumentation()
@@ -345,7 +348,8 @@
     public void testOfflinePage() throws TimeoutException {
         String publisherUrl = "https://example.com/test";
         runTrustedCdnPublisherUrlTest(
-                publisherUrl, "com.example.test", "example.com", R.drawable.omnibox_https_valid);
+                publisherUrl, "com.example.test", "example.com",
+                R.drawable.omnibox_https_valid_refresh);
 
         // TODO (https://crbug.com/1063807):  Add incognito mode tests.
         OfflinePageBridge offlinePageBridge =
@@ -461,18 +465,29 @@
         } else {
             Assert.assertEquals(View.VISIBLE, securityButton.getVisibility());
 
-            ColorStateList colorStateList =
-                    AppCompatResources.getColorStateList(
-                            ApplicationProvider.getApplicationContext(),
-                            R.color.default_icon_color_light_tint_list);
-            ImageView expectedSecurityButton =
-                    new ImageView(ApplicationProvider.getApplicationContext());
-            expectedSecurityButton.setImageResource(expectedSecurityIcon);
-            ImageViewCompat.setImageTintList(expectedSecurityButton, colorStateList);
+            // VectorDrawables don't have a good means for comparison so just verify resource IDs.
+            if (securityButton.getDrawable() instanceof VectorDrawable) {
+                CustomTabToolbar toolbar =
+                        mCustomTabActivityTestRule.getActivity().findViewById(R.id.toolbar);
+                CustomTabLocationBar locationBar = (CustomTabLocationBar) toolbar.getLocationBar();
+                Assert.assertEquals(locationBar.getSecurityIconResourceForTesting(),
+                                    expectedSecurityIcon);
+            }
+            else {
+                ColorStateList colorStateList =
+                        AppCompatResources.getColorStateList(
+                                ApplicationProvider.getApplicationContext(),
+                                R.color.default_icon_color_light_tint_list);
+                ImageView expectedSecurityButton =
+                        new ImageView(ApplicationProvider.getApplicationContext());
+                expectedSecurityButton.setImageResource(expectedSecurityIcon);
+                ImageViewCompat.setImageTintList(expectedSecurityButton, colorStateList);
 
-            BitmapDrawable expectedDrawable = (BitmapDrawable) expectedSecurityButton.getDrawable();
-            BitmapDrawable actualDrawable = (BitmapDrawable) securityButton.getDrawable();
-            Assert.assertTrue(expectedDrawable.getBitmap().sameAs(actualDrawable.getBitmap()));
+                BitmapDrawable expectedDrawable =
+                    (BitmapDrawable) expectedSecurityButton.getDrawable();
+                BitmapDrawable actualDrawable = (BitmapDrawable) securityButton.getDrawable();
+                Assert.assertTrue(expectedDrawable.getBitmap().sameAs(actualDrawable.getBitmap()));
+            }
         }
     }
 }
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediatorTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediatorTest.java
index 97efadf..060c3b9 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediatorTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/bookmarks/BookmarkSaveFlowMediatorTest.java
@@ -30,6 +30,7 @@
 import org.chromium.components.commerce.core.ManagementType;
 import org.chromium.components.commerce.core.ShoppingService;
 import org.chromium.components.commerce.core.SubscriptionType;
+import org.chromium.components.signin.identitymanager.IdentityManager;
 import org.chromium.ui.modelutil.PropertyModel;
 import org.chromium.ui.shadows.ShadowAppCompatResources;
 
@@ -55,6 +56,7 @@
     @Mock private CommerceSubscription mSubscription;
     @Mock private BookmarkImageFetcher mBookmarkImageFetcher;
     @Mock private Profile mProfile;
+    @Mock private IdentityManager mIdentityManager;
 
     @Before
     public void setup() {
@@ -66,7 +68,8 @@
                         mCloseRunnable,
                         mShoppingService,
                         mBookmarkImageFetcher,
-                        mProfile);
+                        mProfile,
+                        mIdentityManager);
         mMediator.setSubscriptionForTesting(mSubscription);
     }
 
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/compositor/overlays/strip/TabDragSourceTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/compositor/overlays/strip/TabDragSourceTest.java
index 6d5c81d9..731f4bb 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/compositor/overlays/strip/TabDragSourceTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/compositor/overlays/strip/TabDragSourceTest.java
@@ -79,6 +79,7 @@
 import org.chromium.ui.base.WindowAndroid;
 import org.chromium.ui.dragdrop.DragAndDropDelegate;
 import org.chromium.ui.dragdrop.DragDropGlobalState;
+import org.chromium.ui.dragdrop.DragDropMetricUtils.DragDropTabResult;
 import org.chromium.ui.dragdrop.DragDropMetricUtils.DragDropType;
 import org.chromium.ui.dragdrop.DropDataAndroid;
 
@@ -156,6 +157,7 @@
         when(mWeakReferenceContext.get()).thenReturn(mContext);
 
         when(mMultiWindowUtils.hasAtMostOneTabWithHomepageEnabled(any())).thenReturn(false);
+        when(mMultiWindowUtils.isInMultiWindowMode(mActivity)).thenReturn(true);
         MultiWindowUtils.setInstanceForTesting(mMultiWindowUtils);
         MultiWindowTestUtils.enableMultiInstance();
         when(mTabModelSelector.getCurrentModel()).thenReturn(mTabModel);
@@ -194,6 +196,7 @@
         if (DragDropGlobalState.hasValue()) {
             DragDropGlobalState.clearForTesting();
         }
+        mSourceInstance.setIsDeviceSamsungForTesting(false);
         ShadowToast.reset();
     }
 
@@ -293,6 +296,36 @@
     }
 
     @Test
+    @DisableFeatures(ChromeFeatureList.TAB_DRAG_DROP_ANDROID)
+    @EnableFeatures(ChromeFeatureList.TAB_LINK_DRAG_DROP_ANDROID)
+    public void test_startTabDragAction_returnFalseForNonSplitScreenNonSamsung() {
+        // Set params.
+        when(mMultiWindowUtils.isInMultiWindowMode(mActivity)).thenReturn(false);
+        mSourceInstance.setIsDeviceSamsungForTesting(false);
+
+        // verify.
+        assertFalse(
+                "Tab drag should not start",
+                mSourceInstance.startTabDragAction(
+                        mTabsToolbarView, mTabBeingDragged, DRAG_START_POINT, TAB_POSITION_X));
+    }
+
+    @Test
+    @DisableFeatures(ChromeFeatureList.TAB_DRAG_DROP_ANDROID)
+    @EnableFeatures(ChromeFeatureList.TAB_LINK_DRAG_DROP_ANDROID)
+    public void test_startTabDragAction_returnTrueForNonSplitScreenSamsung() {
+        // Set params.
+        when(mMultiWindowUtils.isInMultiWindowMode(mActivity)).thenReturn(false);
+        mSourceInstance.setIsDeviceSamsungForTesting(true);
+
+        // Verify.
+        assertTrue(
+                "Tab drag should start",
+                mSourceInstance.startTabDragAction(
+                        mTabsToolbarView, mTabBeingDragged, DRAG_START_POINT, TAB_POSITION_X));
+    }
+
+    @Test
     @EnableFeatures(ChromeFeatureList.TAB_DRAG_DROP_ANDROID)
     @DisableFeatures(ChromeFeatureList.TAB_LINK_DRAG_DROP_ANDROID)
     public void test_onProvideShadowMetrics_WithDesiredStartPosition_ReturnsSuccess() {
@@ -383,8 +416,12 @@
     @Test
     public void test_onDrag_dropInStrip_source() {
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newBuilder().expectNoRecords("Android.DragDrop.Tab.Type").build();
-        new DragEventInvoker().drop(mSourceInstance).end();
+                HistogramWatcher.newBuilder()
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.FromStrip.Result", DragDropTabResult.SUCCESS)
+                        .expectNoRecords("Android.DragDrop.Tab.Type")
+                        .build();
+        new DragEventInvoker().drop(mSourceInstance).end(true);
 
         // Verify appropriate events are generated.
         // Strip prepares for drop on drag enter.
@@ -399,7 +436,6 @@
         verify(mSourceStripLayoutHelper, times(1)).clearTabDragState();
         // Verify destination strip not invoked.
         verifyNoInteractions(mDestStripLayoutHelper);
-        // Verify metric is not recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -407,14 +443,19 @@
     @Test
     public void test_onDrag_dropInToolbarContainer_source() {
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newBuilder().expectNoRecords("Android.DragDrop.Tab.Type").build();
+                HistogramWatcher.newBuilder()
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.FromStrip.Result",
+                                DragDropTabResult.IGNORED_TOOLBAR)
+                        .expectNoRecords("Android.DragDrop.Tab.Type")
+                        .build();
         new DragEventInvoker()
                 // Drag our of strip but within toolbar container.
                 .dragLocationY(mSourceInstance, 3 * DRAG_MOVE_DISTANCE)
                 // Shadow visible when drag moves out of strip.
                 .verifyShadowVisibility(true)
                 .drop(mSourceInstance)
-                .end();
+                .end(false);
 
         // Verify appropriate events are generated.
         // Strip prepares for drop on drag enter.
@@ -430,7 +471,6 @@
         verify(mSourceStripLayoutHelper, times(1)).clearTabDragState();
         // Verify destination strip not invoked.
         verifyNoInteractions(mDestStripLayoutHelper);
-        // Verify metric is not recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -438,8 +478,11 @@
     @Test
     public void test_onDrag_dropOutsideToolbarContainer() {
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newBuilder().expectNoRecords("Android.DragDrop.Tab.Type").build();
-        new DragEventInvoker().dragExit(mSourceInstance).verifyShadowVisibility(true).end();
+                HistogramWatcher.newBuilder()
+                        .expectNoRecords("Android.DragDrop.Tab.FromStrip.Result")
+                        .expectNoRecords("Android.DragDrop.Tab.Type")
+                        .build();
+        new DragEventInvoker().dragExit(mSourceInstance).verifyShadowVisibility(true).end(false);
 
         // Verify appropriate events are generated.
         // Strip prepares for drop on drag enter.
@@ -455,7 +498,6 @@
         verify(mSourceStripLayoutHelper, times(1)).clearTabDragState();
         // Verify destination strip not invoked.
         verifyNoInteractions(mDestStripLayoutHelper);
-        // Verify metric is not recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -464,7 +506,7 @@
     @EnableFeatures(ChromeFeatureList.TAB_DRAG_DROP_ANDROID)
     @Test
     public void test_onDrag_dropOutsideToolbarContainer_dragAsWindow() {
-        new DragEventInvoker().dragExit(mSourceInstance).verifyShadowVisibility(true).end();
+        new DragEventInvoker().dragExit(mSourceInstance).verifyShadowVisibility(true).end(false);
 
         // Verify appropriate events are generated.
         // Strip prepares for drop on drag enter.
@@ -486,11 +528,15 @@
     @Test
     public void test_onDrag_dropInStrip_destination() {
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newSingleRecordWatcher(
-                        "Android.DragDrop.Tab.Type", DragDropType.TAB_STRIP_TO_TAB_STRIP);
+                HistogramWatcher.newBuilder()
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.FromStrip.Result", DragDropTabResult.SUCCESS)
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.Type", DragDropType.TAB_STRIP_TO_TAB_STRIP)
+                        .build();
         when(mDestStripLayoutHelper.getTabIndexForTabDrop(anyFloat())).thenReturn(TAB_INDEX);
 
-        invokeDropInDestinationStrip();
+        invokeDropInDestinationStrip(true);
 
         // Verify - Tab moved to destination window at TAB_INDEX.
         verify(mDestMultiInstanceManager, times(1))
@@ -503,7 +549,6 @@
         verify(mDestStripLayoutHelper).onUpOrCancel(anyLong());
 
         assertNull(ShadowToast.getLatestToast());
-        // Verify metric is recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -511,15 +556,19 @@
     @Test
     public void test_onDrag_dropInStrip_differentModel_Destination() {
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newSingleRecordWatcher(
-                        "Android.DragDrop.Tab.Type", DragDropType.TAB_STRIP_TO_TAB_STRIP);
+                HistogramWatcher.newBuilder()
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.FromStrip.Result", DragDropTabResult.SUCCESS)
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.Type", DragDropType.TAB_STRIP_TO_TAB_STRIP)
+                        .build();
         // Destination tab model is incognito.
         when(mTabModel.isIncognito()).thenReturn(true);
         TabModel standardModelDestination = mock(TabModel.class);
         when(mTabModelSelector.getModel(false)).thenReturn(standardModelDestination);
         when(standardModelDestination.getCount()).thenReturn(5);
 
-        invokeDropInDestinationStrip();
+        invokeDropInDestinationStrip(true);
 
         // Verify - Tab moved to destination window at end.
         verify(mDestMultiInstanceManager, times(1))
@@ -533,7 +582,6 @@
                 ContextUtils.getApplicationContext()
                         .getString(R.string.tab_dropped_different_model),
                 actualText);
-        // Verify metric is recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -550,14 +598,19 @@
                 .dragEnter(mDestInstance)
                 .verifyShadowVisibility(false)
                 .drop(mDestInstance)
-                .end();
+                .end(false);
     }
 
     /** Test for {@link #ONDRAG_TEST_CASES} - Scenario E */
     @Test
     public void test_onDrag_dropInToolbarContainer_destination() {
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newBuilder().expectNoRecords("Android.DragDrop.Tab.Type").build();
+                HistogramWatcher.newBuilder()
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.FromStrip.Result",
+                                DragDropTabResult.IGNORED_TOOLBAR)
+                        .expectNoRecords("Android.DragDrop.Tab.Type")
+                        .build();
         new DragEventInvoker()
                 .dragExit(mSourceInstance)
                 .verifyShadowVisibility(true)
@@ -566,7 +619,7 @@
                 .dragLocationY(mDestInstance, 3 * DRAG_MOVE_DISTANCE)
                 .verifyShadowVisibility(true)
                 .drop(mDestInstance)
-                .end();
+                .end(false);
 
         // Verify appropriate events are generated.
         // Source strip prepares for drop on drag enter.
@@ -586,7 +639,6 @@
         verify(mSourceMultiInstanceManager, times(0)).moveTabToWindow(any(), any(), anyInt());
         // Verify tab cleared.
         verify(mSourceStripLayoutHelper, times(1)).clearTabDragState();
-        // Verify metric is not recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -594,14 +646,18 @@
     @Test
     public void test_onDrag_exitIntoToolbarAndRenterStripAndDrop_source() {
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newBuilder().expectNoRecords("Android.DragDrop.Tab.Type").build();
+                HistogramWatcher.newBuilder()
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.FromStrip.Result", DragDropTabResult.SUCCESS)
+                        .expectNoRecords("Android.DragDrop.Tab.Type")
+                        .build();
         new DragEventInvoker()
                 .dragLocationY(mSourceInstance, 3 * DRAG_MOVE_DISTANCE) // move to toolbar
                 .verifyShadowVisibility(true)
                 .dragLocationY(mSourceInstance, -3 * DRAG_MOVE_DISTANCE) // move back to strip
                 .verifyShadowVisibility(false)
                 .drop(mSourceInstance)
-                .end();
+                .end(true);
 
         // Verify appropriate events are generated.
         // Strip prepares for drop on drag enter. Entered twice.
@@ -616,7 +672,6 @@
         verify(mSourceStripLayoutHelper, times(1)).clearTabDragState();
         // Verify destination strip not invoked.
         verifyNoInteractions(mDestStripLayoutHelper);
-        // Verify metric is not recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -660,7 +715,6 @@
         // Verify - Move to new window not invoked.
         verify(mDestMultiInstanceManager, times(0))
                 .moveTabToWindow(any(), eq(mTabBeingDragged), anyInt());
-        // Verify metric is not recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -669,21 +723,25 @@
     public void test_onDrag_dropIntoDifferentModelDisabled() {
         TabUiFeatureUtilities.DISABLE_STRIP_TO_STRIP_DIFF_MODEL_DD.setForTesting(true);
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newBuilder().expectNoRecords("Android.DragDrop.Tab.Type").build();
+                HistogramWatcher.newBuilder()
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.FromStrip.Result",
+                                DragDropTabResult.IGNORED_DIFF_MODEL_NOT_SUPPORTED)
+                        .expectNoRecords("Android.DragDrop.Tab.Type")
+                        .build();
 
         // Destination tab model is incognito.
         when(mTabModel.isIncognito()).thenReturn(true);
         TabModel standardModelDestination = mock(TabModel.class);
         when(mTabModelSelector.getModel(false)).thenReturn(standardModelDestination);
 
-        invokeDropInDestinationStrip();
+        invokeDropInDestinationStrip(false);
 
         // Verify - Tab is not moved to destination window.
         verify(mDestMultiInstanceManager, times(0))
                 .moveTabToWindow(any(), eq(mTabBeingDragged), anyInt());
 
         assertNull(ShadowToast.getLatestToast());
-        // Verify metric is not recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -703,14 +761,14 @@
         assertFalse("onDrag should return false.", res);
     }
 
-    private void invokeDropInDestinationStrip() {
+    private void invokeDropInDestinationStrip(boolean dragEndRes) {
         new DragEventInvoker()
                 .dragExit(mSourceInstance)
                 .verifyShadowVisibility(true)
                 .dragEnter(mDestInstance)
                 .verifyShadowVisibility(true)
                 .drop(mDestInstance)
-                .end();
+                .end(dragEndRes);
     }
 
     private void mockStripTabPosition(float tabWidth, float drawX, int tabIndex) {
@@ -770,11 +828,9 @@
             return this;
         }
 
-        public DragEventInvoker end() {
-            mSourceInstance.onDrag(
-                    mTabsToolbarView, mockDragEvent(DragEvent.ACTION_DRAG_ENDED, 0, 0));
-            mDestInstance.onDrag(
-                    mTabsToolbarView, mockDragEvent(DragEvent.ACTION_DRAG_ENDED, 0, 0));
+        public DragEventInvoker end(boolean res) {
+            mSourceInstance.onDrag(mTabsToolbarView, mockDragEndEvent(res));
+            mDestInstance.onDrag(mTabsToolbarView, mockDragEndEvent(res));
             assertFalse(
                     "Global state should be cleared on all drag end",
                     DragDropGlobalState.hasValue());
@@ -791,6 +847,12 @@
         }
     }
 
+    private DragEvent mockDragEndEvent(boolean res) {
+        DragEvent dragEvent = mockDragEvent(DragEvent.ACTION_DRAG_ENDED, 0f, 0f);
+        when(dragEvent.getResult()).thenReturn(res);
+        return dragEvent;
+    }
+
     private DragEvent mockDragEvent(int action, float x, float y) {
         return mockDragEvent(action, x, y, mTabBeingDragged);
     }
diff --git a/chrome/android/junit/src/org/chromium/chrome/browser/dragdrop/ChromeTabbedOnDragListenerUnitTest.java b/chrome/android/junit/src/org/chromium/chrome/browser/dragdrop/ChromeTabbedOnDragListenerUnitTest.java
index 2d0a8503..1c38f4f 100644
--- a/chrome/android/junit/src/org/chromium/chrome/browser/dragdrop/ChromeTabbedOnDragListenerUnitTest.java
+++ b/chrome/android/junit/src/org/chromium/chrome/browser/dragdrop/ChromeTabbedOnDragListenerUnitTest.java
@@ -38,6 +38,7 @@
 import org.chromium.chrome.browser.tabmodel.TabModelSelector;
 import org.chromium.ui.base.WindowAndroid;
 import org.chromium.ui.dragdrop.DragDropGlobalState;
+import org.chromium.ui.dragdrop.DragDropMetricUtils.DragDropTabResult;
 import org.chromium.ui.dragdrop.DragDropMetricUtils.DragDropType;
 
 import java.lang.ref.WeakReference;
@@ -124,7 +125,12 @@
     @Test
     public void testOnDrag_ActionDrop_TabSwitcher() {
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newBuilder().expectNoRecords("Android.DragDrop.Tab.Type").build();
+                HistogramWatcher.newBuilder()
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.FromStrip.Result",
+                                DragDropTabResult.IGNORED_TAB_SWITCHER)
+                        .expectNoRecords("Android.DragDrop.Tab.Type")
+                        .build();
         // Call drag start to set states.
         assertTrue(
                 "Drag started should return true.",
@@ -138,14 +144,18 @@
                 "Action drop should return false",
                 mChromeTabbedOnDragListener.onDrag(
                         mCompositorViewHolder, mockDragEvent(DragEvent.ACTION_DROP, false)));
-        // Verify metric is not recorded.
         histogramExpectation.assertExpected();
     }
 
     @Test
     public void testOnDrag_ActionDrop_SameInstance() {
         HistogramWatcher histogramExpectation =
-                HistogramWatcher.newBuilder().expectNoRecords("Android.DragDrop.Tab.Type").build();
+                HistogramWatcher.newBuilder()
+                        .expectIntRecord(
+                                "Android.DragDrop.Tab.FromStrip.Result",
+                                DragDropTabResult.IGNORED_SAME_INSTANCE)
+                        .expectNoRecords("Android.DragDrop.Tab.Type")
+                        .build();
         // Call drag start to set states.
         assertTrue(
                 "Drag started should return true.",
@@ -159,7 +169,6 @@
                 "Action drop should return false",
                 mChromeTabbedOnDragListener.onDrag(
                         mCompositorViewHolder, mockDragEvent(DragEvent.ACTION_DROP, false)));
-        // Verify metric is not recorded.
         histogramExpectation.assertExpected();
     }
 
@@ -183,7 +192,6 @@
                 "Action drop should return true",
                 mChromeTabbedOnDragListener.onDrag(
                         mCompositorViewHolder, mockDragEvent(DragEvent.ACTION_DROP, false)));
-        // Verify metric is recorded.
         histogramExpectation.assertExpected();
     }
 
diff --git a/chrome/app/chromeos_strings.grdp b/chrome/app/chromeos_strings.grdp
index 76b117e..39a42251 100644
--- a/chrome/app/chromeos_strings.grdp
+++ b/chrome/app/chromeos_strings.grdp
@@ -7063,6 +7063,7 @@
   <message name="IDS_OFFICE_FALLBACK_OPEN_WITH_OFFLINE_EDITOR" desc="Label for the button that uses the offline editor fallback to open the office file.">
     Open in offline editor
   </message>
+
   <message name="IDS_OFFICE_FALLBACK_TITLE_OFFLINE" desc="Title for a dialog that appears when an office file is unable to be opened due to the system being offline.">
     Can't open <ph name="FILE_NAMES">$1<ex>file.docx</ex></ph> when offline
   </message>
@@ -7072,6 +7073,15 @@
   <message name="IDS_OFFICE_FALLBACK_INSTRUCTIONS_OFFLINE" desc="Office Fallback dialog instructions for the choices (and buttons) the user has available to open the office file when the system is offline.">
     Check your internet connection and choose "Try again", or choose "Open in offline editor" to use limited view and editing options.
   </message>
+  <message name="IDS_OFFICE_FALLBACK_TITLE_METERED" desc="Title for a dialog that appears when an office file is unable to be uploaded to Google Drive due to the system being on a metered network (network where bandwidth usage incurs cost to the user).">
+    Can't open <ph name="FILE_NAMES">$1<ex>file.docx</ex></ph> while on a metered connection
+  </message>
+  <message name="IDS_OFFICE_FALLBACK_REASON_METERED" desc="Explanation for a dialog that appears when an office file is unable to be uploaded to Google Drive due to the system being on a metered network (network where bandwidth usage incurs cost to the user).">
+    Can't upload files while on a metered connection.
+  </message>
+  <message name="IDS_OFFICE_FALLBACK_INSTRUCTIONS_METERED" desc="Office Fallback dialog instructions for the choices (and buttons) the user has available to open the office file when the system is on a metered network (network where bandwidth usage incurs cost to the user).">
+    Check your internet connection and choose "Try again", or choose "Open in offline editor" to use limited view and editing options.
+  </message>
   <message name="IDS_OFFICE_FALLBACK_TITLE_DRIVE_UNAVAILABLE" desc="Title for a dialog that appears when an office file is unable to be opened due to Google Drive not being available.">
     Can't open <ph name="FILE_NAMES">$1<ex>file.docx</ex></ph> when Drive is not available
   </message>
diff --git a/chrome/app/chromeos_strings_grdp/IDS_OFFICE_FALLBACK_INSTRUCTIONS_METERED.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_OFFICE_FALLBACK_INSTRUCTIONS_METERED.png.sha1
new file mode 100644
index 0000000..32db01e
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_OFFICE_FALLBACK_INSTRUCTIONS_METERED.png.sha1
@@ -0,0 +1 @@
+3bc34a3a5fd0a52711481b8c2cfa33f144a4d74d
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_OFFICE_FALLBACK_REASON_METERED.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_OFFICE_FALLBACK_REASON_METERED.png.sha1
new file mode 100644
index 0000000..32db01e
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_OFFICE_FALLBACK_REASON_METERED.png.sha1
@@ -0,0 +1 @@
+3bc34a3a5fd0a52711481b8c2cfa33f144a4d74d
\ No newline at end of file
diff --git a/chrome/app/chromeos_strings_grdp/IDS_OFFICE_FALLBACK_TITLE_METERED.png.sha1 b/chrome/app/chromeos_strings_grdp/IDS_OFFICE_FALLBACK_TITLE_METERED.png.sha1
new file mode 100644
index 0000000..32db01e
--- /dev/null
+++ b/chrome/app/chromeos_strings_grdp/IDS_OFFICE_FALLBACK_TITLE_METERED.png.sha1
@@ -0,0 +1 @@
+3bc34a3a5fd0a52711481b8c2cfa33f144a4d74d
\ No newline at end of file
diff --git a/chrome/app/chromium_strings.grd b/chrome/app/chromium_strings.grd
index 3f8fd46..1bb0b26 100644
--- a/chrome/app/chromium_strings.grd
+++ b/chrome/app/chromium_strings.grd
@@ -709,7 +709,7 @@
       </message>
       <message name="IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION"
         desc="Subpage summary of warning for a file where we recommend providing the password for on-device decryption">
-        This file may be dangerous<ph name="LINE_BREAK">$1</ph>Chromium can check this download for you if you provide the password &#x2014; your password stays on your device
+        This file may be dangerous<ph name="LINE_BREAK">$1</ph>Chromium can check this download for you if you provide the password. Info about the file gets sent to Google Safe Browsing, but the file content and password stay on your device.
       </message>
 
       <!-- Download Shelf Items -->
diff --git a/chrome/app/chromium_strings_grd/IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION.png.sha1 b/chrome/app/chromium_strings_grd/IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION.png.sha1
index c5e74aa..01e0ee8 100644
--- a/chrome/app/chromium_strings_grd/IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION.png.sha1
+++ b/chrome/app/chromium_strings_grd/IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION.png.sha1
@@ -1 +1 @@
-b56309428addab7e283c6f72eead0619c214b9d0
\ No newline at end of file
+d9ca80a7ddf0b177f4127ff9c630b377e4b2deee
\ No newline at end of file
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd
index 6835890..7f7fccb7 100644
--- a/chrome/app/generated_resources.grd
+++ b/chrome/app/generated_resources.grd
@@ -9651,6 +9651,52 @@
         Try using tab groups to organize tasks, for online shopping, and more
       </message>
 
+      <!-- Saved Tab Group Tutorial Strings -->
+      <if expr="use_titlecase">
+        <message name="IDS_TUTORIAL_SAVED_TAB_GROUP_ADD_TAB_TO_GROUP" desc="The description of the 'right click and save' step">
+          Right-click a tab and select "Add Tab to New Group"
+        </message>
+      </if>
+      <if expr="not use_titlecase">
+        <message name="IDS_TUTORIAL_SAVED_TAB_GROUP_ADD_TAB_TO_GROUP" desc="The description of the 'right click and save' step">
+          Right-click a tab and select "Add tab to new group"
+        </message>
+      </if>
+
+      <message name="IDS_TUTORIAL_SAVED_TAB_GROUP_OPEN_EDITOR" desc="The description of the 'open editor' step">
+        Right-click on the group name
+      </message>
+
+      <if expr="use_titlecase">
+        <message name="IDS_TUTORIAL_SAVED_TAB_GROUP_NAME_SAVE_GROUP" desc="The description of the 'name, save and exit' step">
+          Turn on "Save Group"
+        </message>
+      </if>
+      <if expr="not use_titlecase">
+        <message name="IDS_TUTORIAL_SAVED_TAB_GROUP_NAME_SAVE_GROUP" desc="The description of the 'name, save and exit' step">
+          Turn on "Save group"
+        </message>
+      </if>
+
+      <if expr="use_titlecase">
+        <message name="IDS_TUTORIAL_SAVED_TAB_GROUP_HIDE_GROUP" desc="The description of the 'hide group' step">
+          Select "Hide Group" to remove the group from your tab strip
+        </message>
+      </if>
+      <if expr="not use_titlecase">
+        <message name="IDS_TUTORIAL_SAVED_TAB_GROUP_HIDE_GROUP" desc="The description of the 'hide group' step">
+          Select "Hide group" to remove the group from your tab strip
+        </message>
+      </if>
+
+      <message name="IDS_TUTORIAL_SAVED_TAB_GROUP_REOPEN_GROUP" desc="The description of the 'name, save and exit' step">
+        To reopen the group, click on the group name
+      </message>
+
+      <message name="IDS_TUTORIAL_SAVED_TAB_GROUP_SUCCESS_DESCRIPTION" desc="The description of the success step">
+        You can now use saved tab groups across your signed in desktop devices
+      </message>
+
       <!-- Side Panel Tutorial Strings -->
       <message name="IDS_TUTORIAL_SIDE_PANEL_READING_LIST_OPEN_SIDE_PANEL" desc="The description of the 'open side panel' step in side panel reading list tutorial">
         Click the side panel icon to open it
diff --git a/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_ADD_TAB_TO_GROUP.png.sha1 b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_ADD_TAB_TO_GROUP.png.sha1
new file mode 100644
index 0000000..c4f5a40
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_ADD_TAB_TO_GROUP.png.sha1
@@ -0,0 +1 @@
+d25ae5a1b427ac01abf4f5a95dbf68369f438d0a
\ No newline at end of file
diff --git a/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_HIDE_GROUP.png.sha1 b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_HIDE_GROUP.png.sha1
new file mode 100644
index 0000000..e9085e8
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_HIDE_GROUP.png.sha1
@@ -0,0 +1 @@
+c77575b2f17bc5dac39d1cfbd06565dc8e0f0992
\ No newline at end of file
diff --git a/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_NAME_SAVE_GROUP.png.sha1 b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_NAME_SAVE_GROUP.png.sha1
new file mode 100644
index 0000000..de4aa7d2
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_NAME_SAVE_GROUP.png.sha1
@@ -0,0 +1 @@
+902aa9ecdcb3473df842777b92bb01a796bc115f
\ No newline at end of file
diff --git a/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_OPEN_EDITOR.png.sha1 b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_OPEN_EDITOR.png.sha1
new file mode 100644
index 0000000..af56b3e
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_OPEN_EDITOR.png.sha1
@@ -0,0 +1 @@
+e5573b2de79b3702fc0ebc166e3d39f6b3544050
\ No newline at end of file
diff --git a/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_REOPEN_GROUP.png.sha1 b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_REOPEN_GROUP.png.sha1
new file mode 100644
index 0000000..e750e20
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_REOPEN_GROUP.png.sha1
@@ -0,0 +1 @@
+34687001c97ff07f7e5dac65499b95908d284241
\ No newline at end of file
diff --git a/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_SUCCESS_DESCRIPTION.png.sha1 b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_SUCCESS_DESCRIPTION.png.sha1
new file mode 100644
index 0000000..3f723ffb
--- /dev/null
+++ b/chrome/app/generated_resources_grd/IDS_TUTORIAL_SAVED_TAB_GROUP_SUCCESS_DESCRIPTION.png.sha1
@@ -0,0 +1 @@
+490ee00cf9efdb59be7d50fe2bf81d0d6e00be73
\ No newline at end of file
diff --git a/chrome/app/google_chrome_strings.grd b/chrome/app/google_chrome_strings.grd
index e4e1e8b..bf13589 100644
--- a/chrome/app/google_chrome_strings.grd
+++ b/chrome/app/google_chrome_strings.grd
@@ -686,7 +686,7 @@
       </message>
       <message name="IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION"
         desc="Subpage summary of warning for a file where we recommend providing the password for on-device decryption">
-        This file may be dangerous<ph name="LINE_BREAK">$1</ph>Chrome can check this download for you if you provide the password &#x2014; your password stays on your device
+        This file may be dangerous<ph name="LINE_BREAK">$1</ph>Chrome can check this download for you if you provide the password. Info about the file gets sent to Google Safe Browsing, but the file content and password stay on your device.
       </message>
 
       <!-- Download Shelf Items -->
diff --git a/chrome/app/google_chrome_strings_grd/IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION.png.sha1 b/chrome/app/google_chrome_strings_grd/IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION.png.sha1
index c5e74aa..60af165b 100644
--- a/chrome/app/google_chrome_strings_grd/IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION.png.sha1
+++ b/chrome/app/google_chrome_strings_grd/IDS_DOWNLOAD_BUBBLE_SUBPAGE_SUMMARY_DEEP_SCANNING_PROMPT_LOCAL_DECRYPTION.png.sha1
@@ -1 +1 @@
-b56309428addab7e283c6f72eead0619c214b9d0
\ No newline at end of file
+2075d13990e0fc70a95c1d868cd93b8924bd862d
\ No newline at end of file
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index f09bb2a..0bd0243 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -4644,10 +4644,6 @@
 
       # TODO(crbug.com/1402145): Remove circular dependencies.
       "//chrome/browser/web_applications/app_service",
-
-      # Needs //chrome/browser/content_settings, but its sources are in
-      # //chrome/browser instead.
-      "//chrome/browser/smart_card",
     ]
     if (!is_android && !is_chromeos) {
       sources += [
@@ -7642,6 +7638,8 @@
     sources += [
       "rlz/chrome_rlz_tracker_delegate.cc",
       "rlz/chrome_rlz_tracker_delegate.h",
+      "rlz/chrome_rlz_tracker_web_contents_observer.cc",
+      "rlz/chrome_rlz_tracker_web_contents_observer.h",
     ]
 
     public_deps += [
diff --git a/chrome/browser/ash/BUILD.gn b/chrome/browser/ash/BUILD.gn
index f474653..77500454 100644
--- a/chrome/browser/ash/BUILD.gn
+++ b/chrome/browser/ash/BUILD.gn
@@ -4145,6 +4145,7 @@
     "//chromeos/ash/components/power",
     "//chromeos/ash/components/report",
     "//chromeos/ash/components/report:fresnel_service_proto",
+    "//chromeos/ash/components/report:utils",
     "//chromeos/ash/components/scalable_iph:buildflags",
     "//chromeos/ash/components/scalable_iph:constants",
     "//chromeos/ash/components/scalable_iph:iph_session",
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_invalidator.cc b/chrome/browser/ash/cert_provisioning/cert_provisioning_invalidator.cc
index 929e8a8..b2f99ac 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_invalidator.cc
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_invalidator.cc
@@ -124,6 +124,16 @@
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 }
 
+void CertProvisioningInvalidationHandler::OnSuccessfullySubscribed(
+    const invalidation::Topic& topic) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  CHECK_EQ(topic, topic_)
+      << "Successfully subscribed notification for wrong topic";
+
+  on_invalidation_event_callback_.Run(
+      InvalidationEvent::kSuccessfullySubscribed);
+}
+
 void CertProvisioningInvalidationHandler::OnIncomingInvalidation(
     const invalidation::Invalidation& invalidation) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_invalidator.h b/chrome/browser/ash/cert_provisioning/cert_provisioning_invalidator.h
index a1bda7a..8e2006b 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_invalidator.h
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_invalidator.h
@@ -26,6 +26,13 @@
 enum class CertScope;
 
 enum class InvalidationEvent {
+  // The client has successfully subscribed to the invalidation topic.
+  // This is relevant because if an invalidation was published for that
+  // invalidation topic before the client has successfully subscribed, the
+  // client will not receive that invalidation.
+  // This could be called multiple times because the registration could need to
+  // be re-established by the FCM client.
+  kSuccessfullySubscribed,
   // An invalidation has been received.
   kInvalidationReceived,
 };
@@ -72,6 +79,8 @@
 
   // invalidation::InvalidationHandler:
   void OnInvalidatorStateChange(invalidation::InvalidatorState state) override;
+  void OnSuccessfullySubscribed(
+      const invalidation::Topic& invalidation) override;
   void OnIncomingInvalidation(
       const invalidation::Invalidation& invalidation) override;
   std::string GetOwnerName() const override;
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.h b/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.h
index 4028f50..c29893d 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.h
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_metrics.h
@@ -27,7 +27,10 @@
   kWorkerCreated = 5,
   kWorkerDeserialized = 6,
   kWorkerDeserializationFailed = 7,
-  kMaxValue = kWorkerDeserializationFailed
+  // The subscription to an invalidation topic (the start of which is reported
+  // as kRegisteredToInvalidationTopic) has successfully finished.
+  kSuccessfullySubscribedToInvalidationTopic = 8,
+  kMaxValue = kSuccessfullySubscribedToInvalidationTopic
 };
 
 // Records the |final_state| of a worker. If the worker is failed, also records
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic.cc b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic.cc
index be70e3b..672d7067 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic.cc
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic.cc
@@ -932,7 +932,12 @@
 
 void CertProvisioningWorkerDynamic::OnShouldContinue(ContinueReason reason) {
   switch (reason) {
-    case ContinueReason::kInvalidation:
+    case ContinueReason::kSubscribedToInvalidation:
+      RecordEvent(
+          cert_profile_.protocol_version, cert_scope_,
+          CertProvisioningEvent::kSuccessfullySubscribedToInvalidationTopic);
+      break;
+    case ContinueReason::kInvalidationReceived:
       RecordEvent(cert_profile_.protocol_version, cert_scope_,
                   CertProvisioningEvent::kInvalidationReceived);
       break;
@@ -1130,8 +1135,17 @@
 
 void CertProvisioningWorkerDynamic::OnInvalidationEvent(
     InvalidationEvent invalidation_event) {
-  // TODO - b/307340577: Also react on a new "registered successfully" event.
-  VLOG(0) << "Invalidation received";
-  OnShouldContinue(ContinueReason::kInvalidation);
+  // This function logs as WARNING so the messages are visible in feedback logs
+  // to monitor for b/307340577 .
+  switch (invalidation_event) {
+    case InvalidationEvent::kSuccessfullySubscribed:
+      LOG(WARNING) << "Successfully subscribed to invalidations";
+      OnShouldContinue(ContinueReason::kSubscribedToInvalidation);
+      break;
+    case InvalidationEvent::kInvalidationReceived:
+      LOG(WARNING) << "Invalidation received";
+      OnShouldContinue(ContinueReason::kInvalidationReceived);
+      break;
+  }
 }
 }  // namespace ash::cert_provisioning
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic.h b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic.h
index 2f9339a..84c2d557 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic.h
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic.h
@@ -127,7 +127,11 @@
   void ScheduleNextStep(base::TimeDelta delay);
   void CancelScheduledTasks();
 
-  enum class ContinueReason { kTimeout, kInvalidation };
+  enum class ContinueReason {
+    kTimeout,
+    kSubscribedToInvalidation,
+    kInvalidationReceived
+  };
   void OnShouldContinue(ContinueReason reason);
 
   // Registers for |invalidation_topic_| that allows to receive notification
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic_unittest.cc b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic_unittest.cc
index 7cd2e92..cd49491e 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic_unittest.cc
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_dynamic_unittest.cc
@@ -542,6 +542,27 @@
               CertProvisioningWorkerState::kReadyForNextOperation);
   }
   {
+    // A signal that the the client has successfully subscribed to the
+    // invalidation topic should result in a retry of the waiting action.
+    // In this particular scenario, the result is still
+    // InstructionNotYetAvailable.
+    testing::InSequence seq;
+
+    EXPECT_GET_NEXT_INSTRUCTION(
+        GetNextInstruction(Eq(std::ref(provisioning_process)), /*callback=*/_),
+        base::unexpected(InstructionNotYetAvailable()));
+
+    // kReadyForNextOperation -> kReadyForNextOperation is still reported as a
+    // state change.
+    EXPECT_CALL(state_change_callback_observer_, StateChangeCallback())
+        .WillOnce(VerifyNoBackendErrorsSeen);
+
+    on_invalidation_event_callback.Run(
+        InvalidationEvent::kSuccessfullySubscribed);
+    EXPECT_EQ(worker.GetState(),
+              CertProvisioningWorkerState::kReadyForNextOperation);
+  }
+  {
     testing::InSequence seq;
 
     EXPECT_GET_NEXT_INSTRUCTION(
@@ -676,8 +697,11 @@
   histogram_tester.ExpectBucketCount(
       "ChromeOS.CertProvisioning.Event.Dynamic.User",
       CertProvisioningEvent::kInvalidationReceived, 2);
+  histogram_tester.ExpectBucketCount(
+      "ChromeOS.CertProvisioning.Event.Dynamic.User",
+      CertProvisioningEvent::kSuccessfullySubscribedToInvalidationTopic, 1);
   histogram_tester.ExpectTotalCount(
-      "ChromeOS.CertProvisioning.Event.Dynamic.User", 3);
+      "ChromeOS.CertProvisioning.Event.Dynamic.User", 4);
   histogram_tester.ExpectTotalCount(
       "ChromeOS.CertProvisioning.KeypairGenerationTime.Dynamic.User", 1);
   histogram_tester.ExpectTotalCount(
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.cc b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.cc
index 9051f03..0d580aa 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.cc
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.cc
@@ -837,7 +837,12 @@
 
 void CertProvisioningWorkerStatic::OnShouldContinue(ContinueReason reason) {
   switch (reason) {
-    case ContinueReason::kInvalidation:
+    case ContinueReason::kSubscribedToInvalidation:
+      RecordEvent(
+          cert_profile_.protocol_version, cert_scope_,
+          CertProvisioningEvent::kSuccessfullySubscribedToInvalidationTopic);
+      break;
+    case ContinueReason::kInvalidationReceived:
       RecordEvent(cert_profile_.protocol_version, cert_scope_,
                   CertProvisioningEvent::kInvalidationReceived);
       break;
@@ -1040,9 +1045,18 @@
 
 void CertProvisioningWorkerStatic::OnInvalidationEvent(
     InvalidationEvent invalidation_event) {
-  // TODO - b/307340577: Also react on a new "registered successfully" event.
-  VLOG(0) << "Invalidation received";
-  OnShouldContinue(ContinueReason::kInvalidation);
+  // This function logs as WARNING so the messages are visible in feedback logs
+  // to monitor for b/307340577 .
+  switch (invalidation_event) {
+    case InvalidationEvent::kSuccessfullySubscribed:
+      LOG(WARNING) << "Successfully subscribed to invalidations";
+      OnShouldContinue(ContinueReason::kSubscribedToInvalidation);
+      break;
+    case InvalidationEvent::kInvalidationReceived:
+      LOG(WARNING) << "Invalidation received";
+      OnShouldContinue(ContinueReason::kInvalidationReceived);
+      break;
+  }
 }
 
 }  // namespace ash::cert_provisioning
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.h b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.h
index 3287a9a..5be8ea9 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.h
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static.h
@@ -119,7 +119,11 @@
   void ScheduleNextStep(base::TimeDelta delay);
   void CancelScheduledTasks();
 
-  enum class ContinueReason { kTimeout, kInvalidation };
+  enum class ContinueReason {
+    kTimeout,
+    kSubscribedToInvalidation,
+    kInvalidationReceived
+  };
   void OnShouldContinue(ContinueReason reason);
 
   // Registers for |invalidation_topic_| that allows to receive notification
diff --git a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static_unittest.cc b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static_unittest.cc
index a771ac7..6f2e980 100644
--- a/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static_unittest.cc
+++ b/chrome/browser/ash/cert_provisioning/cert_provisioning_worker_static_unittest.cc
@@ -1238,7 +1238,8 @@
 }
 
 // Checks that when the server returns try_again_later field, the worker will
-// retry when the invalidation is triggered.
+// retry when successfully subscribed for the invalidation or when the
+// invalidation is triggered.
 TEST_F(CertProvisioningWorkerStaticTest, InvalidationRespected) {
   CertProfile cert_profile(kCertProfileId, kCertProfileName,
                            kCertProfileVersion,
@@ -1341,6 +1342,20 @@
 
     testing::InSequence seq;
 
+    EXPECT_DOWNLOAD_CERT_TRY_LATER(
+        DownloadCert(Eq(std::ref(provisioning_process)), /*callback=*/_),
+        download_cert_server_delay.InMilliseconds());
+
+    on_invalidation_event_callback.Run(
+        InvalidationEvent::kSuccessfullySubscribed);
+  }
+
+  {
+    EXPECT_EQ(worker.GetState(),
+              CertProvisioningWorkerState::kFinishCsrResponseReceived);
+
+    testing::InSequence seq;
+
     EXPECT_DOWNLOAD_CERT_OK(DownloadCert, kFakeCertificate);
 
     EXPECT_IMPORT_CERTIFICATE_OK(
diff --git a/chrome/browser/ash/login/demo_mode/demo_session_unittest.cc b/chrome/browser/ash/login/demo_mode/demo_session_unittest.cc
index 32a1fdfa..b785d67 100644
--- a/chrome/browser/ash/login/demo_mode/demo_session_unittest.cc
+++ b/chrome/browser/ash/login/demo_mode/demo_session_unittest.cc
@@ -11,12 +11,14 @@
 #include <string>
 #include <utility>
 
+#include "ash/constants/ash_features.h"
 #include "ash/constants/ash_pref_names.h"
 #include "base/files/file_path.h"
 #include "base/functional/bind.h"
 #include "base/memory/raw_ptr.h"
 #include "base/strings/utf_string_conversions.h"
 #include "base/task/thread_pool/thread_pool_instance.h"
+#include "base/test/scoped_feature_list.h"
 #include "base/timer/mock_timer.h"
 #include "chrome/browser/ash/login/demo_mode/demo_components.h"
 #include "chrome/browser/ash/login/users/fake_chrome_user_manager.h"
@@ -78,6 +80,9 @@
         WallpaperControllerClientImpl>(
         std::make_unique<wallpaper_handlers::TestWallpaperFetcherDelegate>());
     wallpaper_controller_client_->InitForTesting(&test_wallpaper_controller_);
+    // TODO(b/321321392): Test loading growth campaigns at session start.
+    scoped_feature_list_.InitAndDisableFeature(
+        ash::features::kGrowthCampaignsInDemoMode);
   }
 
   void TearDown() override {
@@ -146,6 +151,7 @@
 
  private:
   BrowserProcessPlatformPartTestApi browser_process_platform_part_test_api_;
+  base::test::ScopedFeatureList scoped_feature_list_;
 };
 
 TEST_F(DemoSessionTest, StartForDeviceInDemoMode) {
diff --git a/chrome/browser/ash/report_controller_initializer.cc b/chrome/browser/ash/report_controller_initializer.cc
index 2422cd69e..f54300d 100644
--- a/chrome/browser/ash/report_controller_initializer.cc
+++ b/chrome/browser/ash/report_controller_initializer.cc
@@ -9,6 +9,8 @@
 #include <unordered_set>
 #include <utility>
 
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
 #include "base/functional/bind.h"
 #include "base/functional/callback.h"
 #include "base/location.h"
@@ -30,6 +32,7 @@
 #include "chrome/common/channel_info.h"
 #include "chromeos/ash/components/report/device_metrics/use_case/real_psm_client_manager.h"
 #include "chromeos/ash/components/report/proto/fresnel_service.pb.h"
+#include "chromeos/ash/components/report/utils/time_utils.h"
 #include "chromeos/ash/components/settings/cros_settings_provider.h"
 #include "components/policy/core/common/cloud/cloud_policy_constants.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
@@ -38,6 +41,10 @@
 
 namespace {
 
+// Path to file storing the last powerwash time, persisted over safe powerwash.
+constexpr char kLastPowerwashTimePath[] =
+    "/mnt/stateful_partition/unencrypted/preserve/last_powerwash_time";
+
 // Number of minutes to wait before retrying
 // reading the .oobe_completed file again.
 constexpr base::TimeDelta kOobeReadFailedRetryDelay = base::Minutes(60);
@@ -62,6 +69,10 @@
   base::UmaHistogramBoolean("Ash.Report.IsOobeCompleted", is_complete);
 }
 
+void RecordLastPowerwashTimeRead(bool success) {
+  base::UmaHistogramBoolean("Ash.Report.IsLastPowerwashTimeRead", success);
+}
+
 // Record the device trusted status enum when checking policy trusted status.
 void RecordTrustedStatus(CrosSettingsProvider::TrustedStatus status) {
   ReportControllerInitializer::TrustedStatus status_mapped;
@@ -172,6 +183,20 @@
   return report::MARKET_SEGMENT_UNKNOWN;
 }
 
+// Reads the last powerwash time from preserved files. If the device is new
+// or the last powerwash time file does not exist, it will return UnixEpoch.
+base::Time ReadLastPowerwashTime() {
+  // Retrieve the last modified time of the powerwash time file.
+  base::FilePath last_powerwash_file(kLastPowerwashTimePath);
+  base::File::Info info;
+  if (!base::GetFileInfo(last_powerwash_file, &info)) {
+    LOG(ERROR) << "Failed to get last powerwash file info.";
+    return base::Time::UnixEpoch();
+  }
+
+  return info.last_modified;
+}
+
 }  // namespace
 
 ReportControllerInitializer::ReportControllerInitializer() {
@@ -353,7 +378,38 @@
     return;
   }
 
-  // OOBE is completed, so we can safely calculate the device market segment.
+  SetState(State::kWaitingForLastPowerwashTime);
+
+  // Retrieve last powerwash time, if file exists.
+  base::ThreadPool::PostTaskAndReplyWithResult(
+      FROM_HERE,
+      {base::MayBlock(), base::TaskPriority::BEST_EFFORT,
+       base::TaskShutdownBehavior::SKIP_ON_SHUTDOWN},
+      base::BindOnce(&ReadLastPowerwashTime),
+      base::BindOnce(&ReportControllerInitializer::OnLastPowerwashTimeRead,
+                     weak_factory_.GetWeakPtr()));
+}
+
+void ReportControllerInitializer::OnLastPowerwashTimeRead(
+    base::Time last_powerwash_gmt) {
+  DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+  DCHECK_EQ(state_, State::kWaitingForLastPowerwashTime);
+
+  // Default values before handling last powerwash time.
+  // Variable is based off GMT YYYY-WW just like ActivateDate VPD field.
+  std::string last_powerwash_week;
+  // Handle the last powerwash time received after read attempt.
+  if (last_powerwash_gmt.is_null() ||
+      last_powerwash_gmt == base::Time::UnixEpoch()) {
+    RecordLastPowerwashTimeRead(false);
+  } else {
+    last_powerwash_week =
+        report::utils::ConvertTimeToISO8601String(last_powerwash_gmt);
+    RecordLastPowerwashTimeRead(true);
+  }
+
+  // OOBE is completed, so we can safely calculate the device market
+  // segment.
   report::MarketSegment device_market_segment =
       GetMarketSegment(g_browser_process->platform_part()
                            ->browser_policy_connector_ash()
@@ -374,7 +430,8 @@
   // 3. CrosSettingsProvider::TRUSTED: device policies are loaded and trusted.
   report_controller_ = std::make_unique<report::ReportController>(
       ash::report::device_metrics::ChromeDeviceMetadataParameters{
-          chrome::GetChannel() /* chromeos_channel */, device_market_segment},
+          chrome::GetChannel() /* chromeos_channel */, device_market_segment,
+          last_powerwash_week},
       g_browser_process->local_state(),
       g_browser_process->system_network_context_manager()
           ->GetSharedURLLoaderFactory(),
diff --git a/chrome/browser/ash/report_controller_initializer.h b/chrome/browser/ash/report_controller_initializer.h
index 93542d0..d34698c 100644
--- a/chrome/browser/ash/report_controller_initializer.h
+++ b/chrome/browser/ash/report_controller_initializer.h
@@ -27,7 +27,9 @@
                                    // startup delay to be completed.
     kWaitingForOobeCompleted = 2,  // Wait for oobe completed conditions.
     kWaitingForDeviceSettingsTrusted = 3,  // Wait for policies to be trusted.
-    kReportControllerInitialized = 4,      // Nothing left to do.
+    kWaitingForLastPowerwashTime = 4,  // Wait to read last powerwash time if
+                                       // file exists in preserved files.
+    kReportControllerInitialized = 5,  // Nothing left to do.
     kMaxValue = kReportControllerInitialized,
   };
 
@@ -97,6 +99,10 @@
   // If it is trusted, ReportController is initialized.
   void CheckTrustedStatus();
 
+  // Handler after reading last powerwash time file in ThreadPool task.
+  // This is done to avoid blocking the main browser thread.
+  void OnLastPowerwashTimeRead(base::Time last_powerwash_time);
+
   // Store the current state this class is in.
   State state_ = State::kWaitingForOwnership;
 
diff --git a/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_base.cc b/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_base.cc
index cf41778..aa56b0e 100644
--- a/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_base.cc
+++ b/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_base.cc
@@ -11,21 +11,34 @@
 #include <vector>
 
 #include "ash/constants/ash_features.h"
+#include "ash/controls/contextual_tooltip.h"
 #include "ash/public/cpp/image_util.h"
 #include "ash/wallpaper/wallpaper_constants.h"
 #include "ash/wallpaper/wallpaper_utils/wallpaper_resizer.h"
+#include "ash/webui/common/mojom/sea_pen.mojom-forward.h"
 #include "ash/webui/common/mojom/sea_pen.mojom.h"
 #include "base/functional/bind.h"
 #include "base/json/json_writer.h"
 #include "base/json/values_util.h"
+#include "base/metrics/field_trial_params.h"
+#include "base/metrics/histogram_functions.h"
+#include "base/metrics/histogram_macros.h"
+#include "base/metrics/user_metrics.h"
 #include "base/strings/stringprintf.h"
+#include "base/strings/utf_string_conversions.h"
+#include "base/values.h"
 #include "chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_utils.h"
 #include "chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.h"
 #include "chrome/browser/ash/wallpaper_handlers/wallpaper_fetcher_delegate.h"
 #include "chrome/browser/profiles/profile.h"
+#include "chrome/browser/ui/browser_commands.h"
+#include "chrome/browser/ui/browser_finder.h"
+#include "chrome/browser/ui/chrome_pages.h"
+#include "chromeos/strings/grit/chromeos_strings.h"
 #include "components/manta/features.h"
 #include "components/manta/manta_status.h"
 #include "content/public/browser/web_ui.h"
+#include "ui/base/l10n/l10n_util.h"
 #include "ui/base/webui/web_ui_util.h"
 
 namespace ash::personalization_app {
@@ -99,8 +112,10 @@
 PersonalizationAppSeaPenProviderBase::PersonalizationAppSeaPenProviderBase(
     content::WebUI* web_ui,
     std::unique_ptr<wallpaper_handlers::WallpaperFetcherDelegate>
-        wallpaper_fetcher_delegate)
-    : profile_(Profile::FromWebUI(web_ui)),
+        wallpaper_fetcher_delegate,
+    manta::proto::FeatureName feature_name)
+    : feature_name_(feature_name),
+      profile_(Profile::FromWebUI(web_ui)),
       wallpaper_fetcher_delegate_(std::move(wallpaper_fetcher_delegate)) {}
 
 PersonalizationAppSeaPenProviderBase::~PersonalizationAppSeaPenProviderBase() =
@@ -130,9 +145,10 @@
   auto* sea_pen_fetcher = GetOrCreateSeaPenFetcher();
   CHECK(sea_pen_fetcher);
   sea_pen_fetcher->FetchThumbnails(
-      query, base::BindOnce(
-                 &PersonalizationAppSeaPenProviderBase::OnFetchThumbnailsDone,
-                 weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
+      feature_name_, query,
+      base::BindOnce(
+          &PersonalizationAppSeaPenProviderBase::OnFetchThumbnailsDone,
+          weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
 }
 
 void PersonalizationAppSeaPenProviderBase::SelectSeaPenThumbnail(
@@ -151,7 +167,7 @@
   // should not be null when a thumbnail is selected.
   CHECK(last_query_);
   sea_pen_fetcher->FetchWallpaper(
-      it->second, last_query_,
+      feature_name_, it->second, last_query_,
       base::BindOnce(
           &PersonalizationAppSeaPenProviderBase::OnFetchWallpaperDone,
           weak_ptr_factory_.GetWeakPtr(), std::move(callback)));
@@ -274,4 +290,59 @@
            .bitmap())));
 }
 
+void PersonalizationAppSeaPenProviderBase::OpenFeedbackDialog(
+    const mojom::SeaPenFeedbackMetadataPtr metadata) {
+  const std::string hashtag = "#AIWallpaper";
+  const std::string feedback_type =
+      metadata->is_positive ? "Positive" : "Negative";
+  CHECK(last_query_);
+  const std::string user_visible_query_text =
+      (last_query_->is_text_query())
+          ? last_query_->get_text_query()
+          : last_query_->get_template_query()->user_visible_query->text;
+  const std::string description_template =
+      hashtag + " " + feedback_type + ": " + user_visible_query_text + "\n";
+
+  base::Value::Dict ai_metadata;
+  ai_metadata.Set("from_chromeos", "true");
+  ai_metadata.Set("log_id", metadata->log_id);
+
+  base::RecordAction(base::UserMetricsAction("SeaPen_FeedbackPressed"));
+  chrome::ShowFeedbackPage(
+      /*browser=*/chrome::FindBrowserWithProfile(profile_),
+      /*source=*/chrome::kFeedbackSourceAI, description_template,
+      /*description_placeholder_text=*/
+      base::UTF16ToUTF8(
+          l10n_util::GetStringUTF16(IDS_SEA_PEN_FEEDBACK_PLACEHOLDER)),
+      /*category_tag=*/std::string(),
+      /*extra_diagnostics=*/std::string(),
+      /*autofill_data=*/base::Value::Dict(), std::move(ai_metadata));
+}
+
+void PersonalizationAppSeaPenProviderBase::ShouldShowSeaPenTermsOfServiceDialog(
+    ShouldShowSeaPenTermsOfServiceDialogCallback callback) {
+  if (!features::IsSeaPenEnabled()) {
+    sea_pen_receiver_.ReportBadMessage(
+        "Cannot call `ShouldShowSeaPenWallpaperTermsDialog()` without Sea Pen "
+        "feature enabled");
+    return;
+  }
+
+  // TODO(b/315032845): confirm how to store and retrieve the terms of service
+  // records instead of using contextual tooltip.
+  std::move(callback).Run(contextual_tooltip::ShouldShowNudge(
+      profile_->GetPrefs(),
+      contextual_tooltip::TooltipType::kSeaPenWallpaperTermsDialog,
+      /*recheck_delay=*/nullptr));
+}
+
+void PersonalizationAppSeaPenProviderBase::
+    HandleSeaPenTermsOfServiceAccepted() {
+  // TODO(b/315032845): confirm how to store and retrieve the terms of service
+  // records instead of using contextual tooltip.
+  contextual_tooltip::HandleGesturePerformed(
+      profile_->GetPrefs(),
+      contextual_tooltip::TooltipType::kSeaPenWallpaperTermsDialog);
+}
+
 }  // namespace ash::personalization_app
diff --git a/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_base.h b/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_base.h
index 90ffd7a..ff78fd3 100644
--- a/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_base.h
+++ b/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_base.h
@@ -16,6 +16,7 @@
 #include "base/memory/raw_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "components/manta/manta_status.h"
+#include "components/manta/proto/manta.pb.h"
 #include "mojo/public/cpp/bindings/receiver.h"
 #include "ui/gfx/image/image_skia.h"
 
@@ -46,7 +47,8 @@
   PersonalizationAppSeaPenProviderBase(
       content::WebUI* web_ui,
       std::unique_ptr<wallpaper_handlers::WallpaperFetcherDelegate>
-          wallpaper_fetcher_delegate);
+          wallpaper_fetcher_delegate,
+      manta::proto::FeatureName feature_name);
 
   ~PersonalizationAppSeaPenProviderBase() override;
 
@@ -71,6 +73,13 @@
       const base::FilePath& path,
       GetRecentSeaPenImageThumbnailCallback callback) override;
 
+  void OpenFeedbackDialog(mojom::SeaPenFeedbackMetadataPtr metadata) override;
+
+  void ShouldShowSeaPenTermsOfServiceDialog(
+      ShouldShowSeaPenTermsOfServiceDialogCallback callback) override;
+
+  void HandleSeaPenTermsOfServiceAccepted() override;
+
  protected:
   virtual void SelectRecentSeaPenImageInternal(
       const base::FilePath& path,
@@ -88,6 +97,8 @@
       const std::string& query_info,
       base::OnceCallback<void(bool success)> callback) = 0;
 
+  manta::proto::FeatureName feature_name_;
+
   // Pointer to profile of user that opened personalization SWA. Not owned.
   const raw_ptr<Profile> profile_;
 
diff --git a/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_impl.cc b/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_impl.cc
index 66722ff..9915dbc 100644
--- a/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_impl.cc
+++ b/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_impl.cc
@@ -30,7 +30,8 @@
         wallpaper_fetcher_delegate)
     : PersonalizationAppSeaPenProviderBase(
           web_ui,
-          std::move(wallpaper_fetcher_delegate)) {}
+          std::move(wallpaper_fetcher_delegate),
+          manta::proto::FeatureName::CHROMEOS_WALLPAPER) {}
 
 PersonalizationAppSeaPenProviderImpl::~PersonalizationAppSeaPenProviderImpl() =
     default;
diff --git a/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_impl_unittest.cc b/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_impl_unittest.cc
index aed0074..c40d483 100644
--- a/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_impl_unittest.cc
+++ b/chrome/browser/ash/system_web_apps/apps/personalization_app/personalization_app_sea_pen_provider_impl_unittest.cc
@@ -383,6 +383,26 @@
               testing::HasSubstr(DictToMetadataDescription(expected_metadata)));
 }
 
+TEST_F(PersonalizationAppSeaPenProviderImplTest,
+       ShouldShowSeaPenTermsOfServiceDialog) {
+  test_wallpaper_controller()->ClearCounts();
+  base::test::ScopedFeatureList features;
+  features.InitWithFeatures({features::kSeaPen}, {});
+
+  base::test::TestFuture<bool> should_show_dialog_future;
+  sea_pen_provider_remote()->ShouldShowSeaPenTermsOfServiceDialog(
+      should_show_dialog_future.GetCallback());
+  // Expects to return true before the terms are accepted.
+  EXPECT_TRUE(should_show_dialog_future.Take());
+
+  sea_pen_provider_remote()->HandleSeaPenTermsOfServiceAccepted();
+
+  sea_pen_provider_remote()->ShouldShowSeaPenTermsOfServiceDialog(
+      should_show_dialog_future.GetCallback());
+  // Expects to return false after the terms are accepted.
+  EXPECT_FALSE(should_show_dialog_future.Take());
+}
+
 }  // namespace
 
 }  // namespace ash::personalization_app
diff --git a/chrome/browser/ash/system_web_apps/apps/vc_background_ui/vc_background_ui_sea_pen_provider_impl.cc b/chrome/browser/ash/system_web_apps/apps/vc_background_ui/vc_background_ui_sea_pen_provider_impl.cc
index 2f07bb7..479183c 100644
--- a/chrome/browser/ash/system_web_apps/apps/vc_background_ui/vc_background_ui_sea_pen_provider_impl.cc
+++ b/chrome/browser/ash/system_web_apps/apps/vc_background_ui/vc_background_ui_sea_pen_provider_impl.cc
@@ -52,7 +52,8 @@
         wallpaper_fetcher_delegate)
     : PersonalizationAppSeaPenProviderBase(
           web_ui,
-          std::move(wallpaper_fetcher_delegate)) {}
+          std::move(wallpaper_fetcher_delegate),
+          manta::proto::FeatureName::CHROMEOS_VC_BACKGROUNDS) {}
 
 VcBackgroundUISeaPenProviderImpl::~VcBackgroundUISeaPenProviderImpl() = default;
 
diff --git a/chrome/browser/ash/wallpaper_handlers/mock_sea_pen_fetcher.cc b/chrome/browser/ash/wallpaper_handlers/mock_sea_pen_fetcher.cc
index 347e934..ded45ee 100644
--- a/chrome/browser/ash/wallpaper_handlers/mock_sea_pen_fetcher.cc
+++ b/chrome/browser/ash/wallpaper_handlers/mock_sea_pen_fetcher.cc
@@ -34,7 +34,8 @@
 MockSeaPenFetcher::MockSeaPenFetcher() {
   ON_CALL(*this, FetchThumbnails)
       .WillByDefault(
-          [](const ash::personalization_app::mojom::SeaPenQueryPtr& query,
+          [](manta::proto::FeatureName feature_name,
+             const ash::personalization_app::mojom::SeaPenQueryPtr& query,
              OnFetchThumbnailsComplete callback) {
             base::SequencedTaskRunner::GetCurrentDefault()->PostTask(
                 FROM_HERE,
@@ -44,7 +45,8 @@
 
   ON_CALL(*this, FetchWallpaper)
       .WillByDefault(
-          [](const ash::SeaPenImage& image,
+          [](manta::proto::FeatureName feature_name,
+             const ash::SeaPenImage& image,
              const ash::personalization_app::mojom::SeaPenQueryPtr& query,
              OnFetchWallpaperComplete callback) {
             std::move(callback).Run(
diff --git a/chrome/browser/ash/wallpaper_handlers/mock_sea_pen_fetcher.h b/chrome/browser/ash/wallpaper_handlers/mock_sea_pen_fetcher.h
index 1af471e..b3702d8e 100644
--- a/chrome/browser/ash/wallpaper_handlers/mock_sea_pen_fetcher.h
+++ b/chrome/browser/ash/wallpaper_handlers/mock_sea_pen_fetcher.h
@@ -8,6 +8,7 @@
 #include "ash/webui/common/mojom/sea_pen.mojom-forward.h"
 #include "base/functional/callback.h"
 #include "chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.h"
+#include "components/manta/proto/manta.pb.h"
 #include "testing/gmock/include/gmock/gmock.h"
 
 namespace wallpaper_handlers {
@@ -23,13 +24,15 @@
 
   MOCK_METHOD(void,
               FetchThumbnails,
-              (const ash::personalization_app::mojom::SeaPenQueryPtr& query,
+              (manta::proto::FeatureName feature_name,
+               const ash::personalization_app::mojom::SeaPenQueryPtr& query,
                SeaPenFetcher::OnFetchThumbnailsComplete callback),
               (override));
 
   MOCK_METHOD(void,
               FetchWallpaper,
-              (const ash::SeaPenImage& image,
+              (manta::proto::FeatureName feature_name,
+               const ash::SeaPenImage& image,
                const ash::personalization_app::mojom::SeaPenQueryPtr& query,
                SeaPenFetcher::OnFetchWallpaperComplete callback),
               (override));
diff --git a/chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.cc b/chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.cc
index 15fc45c..081ecd33f 100644
--- a/chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.cc
+++ b/chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.cc
@@ -135,6 +135,7 @@
   ~SeaPenFetcherImpl() override = default;
 
   void FetchThumbnails(
+      manta::proto::FeatureName feature_name,
       const ash::personalization_app::mojom::SeaPenQueryPtr& query,
       OnFetchThumbnailsComplete callback) override {
     if (!snapper_provider_) {
@@ -159,7 +160,8 @@
     }
     pending_fetch_thumbnails_callback_ = std::move(callback);
     auto request = CreateMantaRequest(query, std::nullopt,
-                                      /*num_outputs=*/8, kDesiredThumbnailSize);
+                                      /*num_outputs=*/8, kDesiredThumbnailSize,
+                                      feature_name);
     snapper_provider_->Call(
         request, base::BindOnce(&SeaPenFetcherImpl::OnFetchThumbnailsDone,
                                 weak_ptr_factory_.GetWeakPtr(), query.Clone()));
@@ -191,6 +193,7 @@
   }
 
   void FetchWallpaper(
+      manta::proto::FeatureName feature_name,
       const ash::SeaPenImage& thumbnail,
       const ash::personalization_app::mojom::SeaPenQueryPtr& query,
       OnFetchWallpaperComplete callback) override {
@@ -212,7 +215,7 @@
 
     snapper_provider_->Call(
         CreateMantaRequest(query, thumbnail.id, /*num_outputs=*/1,
-                           GetLargestDisplaySizeLandscape()),
+                           GetLargestDisplaySizeLandscape(), feature_name),
         base::BindOnce(&SeaPenFetcherImpl::OnFetchWallpaperDone,
                        weak_ptr_factory_.GetWeakPtr()));
   }
diff --git a/chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.h b/chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.h
index eea3607..794a70c 100644
--- a/chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.h
+++ b/chrome/browser/ash/wallpaper_handlers/sea_pen_fetcher.h
@@ -37,11 +37,13 @@
   // Run `query` against the Manta API. `query` is required to be a valid UTF-8
   // string no longer than `kMaximumSearchWallpaperTextBytes`.
   virtual void FetchThumbnails(
+      manta::proto::FeatureName feature_name,
       const ash::personalization_app::mojom::SeaPenQueryPtr& query,
       OnFetchThumbnailsComplete callback) = 0;
 
   // Calls the Manta API to fetch a higher resolution image of the thumbnail.
   virtual void FetchWallpaper(
+      manta::proto::FeatureName feature_name,
       const ash::SeaPenImage& thumbnail,
       const ash::personalization_app::mojom::SeaPenQueryPtr& query,
       OnFetchWallpaperComplete callback) = 0;
diff --git a/chrome/browser/ash/wallpaper_handlers/sea_pen_utils.cc b/chrome/browser/ash/wallpaper_handlers/sea_pen_utils.cc
index 2a373a1..c870ba7 100644
--- a/chrome/browser/ash/wallpaper_handlers/sea_pen_utils.cc
+++ b/chrome/browser/ash/wallpaper_handlers/sea_pen_utils.cc
@@ -40,6 +40,23 @@
       return "translucent";
     case ash::personalization_app::mojom::SeaPenTemplateId::kScifi:
       return "scifi";
+    case ash::personalization_app::mojom::SeaPenTemplateId::kVcBackgroundSimple:
+      return "simple";
+    case ash::personalization_app::mojom::SeaPenTemplateId::kVcBackgroundOffice:
+      return "office";
+    case ash::personalization_app::mojom::SeaPenTemplateId::
+        kVcBackgroundTerrainVc:
+      return "terrain_vc";
+    case ash::personalization_app::mojom::SeaPenTemplateId::kVcBackgroundCafe:
+      return "cafe";
+    case ash::personalization_app::mojom::SeaPenTemplateId::kVcBackgroundArt:
+      return "art";
+    case ash::personalization_app::mojom::SeaPenTemplateId::
+        kVcBackgroundDreamscapesVc:
+      return "dreamscapes_vc";
+    case ash::personalization_app::mojom::SeaPenTemplateId::
+        kVcBackgroundCharacters:
+      return "characters";
   }
 }
 
@@ -93,6 +110,54 @@
       return "<translucent_item>";
     case ash::personalization_app::mojom::SeaPenTemplateChip::kTranslucentColor:
       return "<translucent_color>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundSimpleStyle:
+      return "<simple_style>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundSimpleTone:
+      return "<simple_tone>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundOfficeStyle:
+      return "<office_style>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundOfficeColor:
+      return "<office_color>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundTerrainFeature:
+      return "<terrain_feature>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundTerrainColor:
+      return "<terrain_color>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundCafeStyle:
+      return "<cafe_style>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundCafeType:
+      return "<cafe_type>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundArtFeature:
+      return "<art_feature>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundArtMovement:
+      return "<art_movement>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundDreamscapesObject:
+      return "<dreamscapes_object>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundDreamscapesMaterial:
+      return "<dreamscapes_material>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundDreamscapesColors:
+      return "<dreamscapes_colors>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundCharactersColor:
+      return "<characters_color>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundCharactersSubjects:
+      return "<characters_subjects>";
+    case ash::personalization_app::mojom::SeaPenTemplateChip::
+        kVcBackgroundCharactersBackground:
+      return "<characters_background>";
   }
 }
 
@@ -1057,6 +1122,606 @@
     case ash::personalization_app::mojom::SeaPenTemplateOption::
         kTranslucentColorBlack:
       return "black";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundSimpleStyleMinimal:
+      return "minimal";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundSimpleStyleZen:
+      return "zen";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundSimpleStyleModern:
+      return "modern";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundSimpleStyleMagical:
+      return "magical";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundSimpleToneNeutral:
+      return "neutral";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundSimpleToneDark:
+      return "dark";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundSimpleToneLight:
+      return "light";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundOfficeStyleModern:
+      return "modern";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundOfficeStyleCreative:
+      return "creative";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundOfficeStyleTraditional:
+      return "traditional";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundOfficeStyleFuturistic:
+      return "futuristic";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundOfficeColorNeutral:
+      return "neutral";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundOfficeColorDark:
+      return "dark";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundOfficeColorColorful:
+      return "colorful";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundOfficeColorEarthy:
+      return "earthy";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureSaltLake:
+      return "salt_lake";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureRiver:
+      return "river";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureNorthernLights:
+      return "northern_lights";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureSandDunes:
+      return "sand_dunes";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureClayHills:
+      return "clay_hills";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureSandyLagoon:
+      return "sandy_lagoon";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureMountains:
+      return "mountains";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureBioluminescentBeach:
+      return "bioluminescent_beach";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureFireflyForest:
+      return "firefly_forest";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainFeatureDifferentPlanet:
+      return "different_planet";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorPink:
+      return "pink";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorTeal:
+      return "teal";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorWhite:
+      return "white";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorPurple:
+      return "purple";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorBlue:
+      return "blue";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorYellow:
+      return "yellow";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorMaroonPink:
+      return "maroon_pink";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorBluePurple:
+      return "blue_purple";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorPinkYellow:
+      return "pink_yellow";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundTerrainColorBluePink:
+      return "blue_pink";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeStyleCozy:
+      return "cozy";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeStyleNeutral:
+      return "neutral";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeStyleDistressed:
+      return "distressed";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeStyleClassic:
+      return "classic";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeStyleRomantic:
+      return "romantic";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeTypeCottage:
+      return "cottage";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeTypeModern:
+      return "modern";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeTypeTeaHouse:
+      return "tea_house";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeTypeHighTea:
+      return "high_tea";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCafeTypeOutdoor:
+      return "outdoor";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureCanyon:
+      return "canyon";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureMountain:
+      return "mountain";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureBeach:
+      return "beach";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureCave:
+      return "cave";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureCliff:
+      return "cliff";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureForest:
+      return "forest";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureGlacier:
+      return "glacier";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureIsland:
+      return "island";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureJungle:
+      return "jungle";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureLake:
+      return "lake";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureMeadow:
+      return "meadow";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureOcean:
+      return "ocean";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureRiver:
+      return "river";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureDune:
+      return "dune";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureSwamp:
+      return "swamp";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureValley:
+      return "valley";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureWaterfall:
+      return "waterfall";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureField:
+      return "field";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureCityscape:
+      return "cityscape";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureVillage:
+      return "village";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureAnime:
+      return "anime";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeaturePixelArt:
+      return "pixel_art";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtFeatureCyberpunk:
+      return "cyberpunk";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementAvantGarde:
+      return "avant_garde";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementRealist:
+      return "realist";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementExpressionist:
+      return "expressionist";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementImpressionist:
+      return "impressionist";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementPostImpressionist:
+      return "post_impressionist";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementArtNouveau:
+      return "art_nouveau";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementBaroque:
+      return "baroque";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementBauhaus:
+      return "bauhaus";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementClassicist:
+      return "classicist";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementWatercolor:
+      return "watercolor";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementAbstract:
+      return "abstract";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementPointillist:
+      return "pointillist";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementGraphicDesign:
+      return "graphic_design";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundArtMovementModernArt:
+      return "modern_art";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectBicycle:
+      return "bicycle";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectCastle:
+      return "castle";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectBuilding:
+      return "building";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectBoat:
+      return "boat";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectLamp:
+      return "lamp";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectTable:
+      return "table";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectBridge:
+      return "bridge";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectLighthouse:
+      return "lighthouse";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectPagoda:
+      return "pagoda";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectPalace:
+      return "palace";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectTower:
+      return "tower";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesObjectChair:
+      return "chair";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialFlowers:
+      return "flowers";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialSilk:
+      return "silk";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialFelt:
+      return "felt";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialBurlap:
+      return "burlap";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialChiffon:
+      return "chiffon";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialCotton:
+      return "cotton";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialFur:
+      return "fur";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialLace:
+      return "lace";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialLinen:
+      return "linen";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialOrganza:
+      return "organza";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialTulle:
+      return "tulle";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialWool:
+      return "wool";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialYarn:
+      return "yarn";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialFleece:
+      return "fleece";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialClay:
+      return "clay";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialStone:
+      return "stone";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialWood:
+      return "wood";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialAmethyst:
+      return "amethyst";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialLapisLuzuli:
+      return "lapis_luzuli";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialObsidian:
+      return "obsidian";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialOpal:
+      return "opal";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesMaterialSapphire:
+      return "sapphire";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesColorsPinkPurple:
+      return "pink_purple";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesColorsCoralTan:
+      return "coral_tan";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesColorsCreamOrange:
+      return "cream_orange";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesColorsBlueIndigo:
+      return "blue_indigo";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesColorsGreenTeal:
+      return "green_teal";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesColorsBurgundyMaroon:
+      return "burgundy_maroon";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundDreamscapesColorsYellowTeal:
+      return "yellow_teal";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorYellow:
+      return "yellow";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorPink:
+      return "pink";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorRed:
+      return "red";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorBlue:
+      return "blue";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorIndigo:
+      return "indigo";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorGreen:
+      return "green";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorCyan:
+      return "cyan";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorPurple:
+      return "purple";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorBrown:
+      return "brown";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorGold:
+      return "gold";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorRust:
+      return "rust";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorOlive:
+      return "olive";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorGray:
+      return "gray";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorWhite:
+      return "white";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorBeige:
+      return "beige";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorMagenta:
+      return "magenta";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorNeonGreen:
+      return "neon_green";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorLightBlue:
+      return "light_blue";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorNeonPink:
+      return "neon_pink";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersColorCoralPink:
+      return "coral_pink";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsLemons:
+      return "lemons";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsFlowers:
+      return "flowers";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsApples:
+      return "apples";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsCherries:
+      return "cherries";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsOranges:
+      return "oranges";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsPineapples:
+      return "pineapples";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsStrawberries:
+      return "strawberries";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsWatermelons:
+      return "watermelons";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsPotatoes:
+      return "potatoes";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsSushi:
+      return "sushi";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsBaconAndEggs:
+      return "bacon_and_eggs";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsPizza:
+      return "pizza";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsHotDogs:
+      return "hot_dogs";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsHamburgers:
+      return "hamburgers";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsRamen:
+      return "ramen";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsTacos:
+      return "tacos";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsBunnies:
+      return "bunnies";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsCats:
+      return "cats";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsDogs:
+      return "dogs";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsKoalas:
+      return "koalas";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsPandas:
+      return "pandas";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsPenguins:
+      return "penguins";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsPigs:
+      return "pigs";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsSloths:
+      return "sloths";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsPonies:
+      return "ponies";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsElephants:
+      return "elephants";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsFoxes:
+      return "foxes";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsOwls:
+      return "owls";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsCrabs:
+      return "crabs";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsBees:
+      return "bees";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsButterflies:
+      return "butterflies";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsBicycles:
+      return "bicycles";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsBoats:
+      return "boats";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsBooks:
+      return "books";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsCutlery:
+      return "cutlery";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsUmbrellas:
+      return "umbrellas";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersSubjectsInstruments:
+      return "instruments";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundPurple:
+      return "purple";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundBlue:
+      return "blue";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundIndigo:
+      return "indigo";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundGreen:
+      return "green";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundCyan:
+      return "cyan";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundBrown:
+      return "brown";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundGold:
+      return "gold";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundRed:
+      return "red";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundRust:
+      return "rust";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundOlive:
+      return "olive";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundPink:
+      return "pink";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundGray:
+      return "gray";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundYellow:
+      return "yellow";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundWhite:
+      return "white";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundBeige:
+      return "beige";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundMagenta:
+      return "magenta";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundNeonGreen:
+      return "neon_green";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundLightBlue:
+      return "light_blue";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundNeonPink:
+      return "neon_pink";
+    case ash::personalization_app::mojom::SeaPenTemplateOption::
+        kVcBackgroundCharactersBackgroundCoralPink:
+      return "coral_pink";
   }
 }
 
@@ -1302,6 +1967,199 @@
       }
       return true;
     }
+    case ash::personalization_app::mojom::SeaPenTemplateId::
+        kVcBackgroundSimple: {
+      auto enum1 = options
+                       .find(ash::personalization_app::mojom::
+                                 SeaPenTemplateChip::kVcBackgroundSimpleStyle)
+                       ->second;
+      if (enum1 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundSimpleStyleMinimal ||
+          enum1 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundSimpleStyleMagical) {
+        return false;
+      }
+      auto enum2 = options
+                       .find(ash::personalization_app::mojom::
+                                 SeaPenTemplateChip::kVcBackgroundSimpleTone)
+                       ->second;
+      if (enum2 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundSimpleToneNeutral ||
+          enum2 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundSimpleToneLight) {
+        return false;
+      }
+      return true;
+    }
+    case ash::personalization_app::mojom::SeaPenTemplateId::
+        kVcBackgroundOffice: {
+      auto enum1 = options
+                       .find(ash::personalization_app::mojom::
+                                 SeaPenTemplateChip::kVcBackgroundOfficeStyle)
+                       ->second;
+      if (enum1 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundOfficeStyleModern ||
+          enum1 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundOfficeStyleFuturistic) {
+        return false;
+      }
+      auto enum2 = options
+                       .find(ash::personalization_app::mojom::
+                                 SeaPenTemplateChip::kVcBackgroundOfficeColor)
+                       ->second;
+      if (enum2 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundOfficeColorNeutral ||
+          enum2 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundOfficeColorEarthy) {
+        return false;
+      }
+      return true;
+    }
+    case ash::personalization_app::mojom::SeaPenTemplateId::
+        kVcBackgroundTerrainVc: {
+      auto enum1 =
+          options
+              .find(ash::personalization_app::mojom::SeaPenTemplateChip::
+                        kVcBackgroundTerrainFeature)
+              ->second;
+      if (enum1 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundTerrainFeatureSaltLake ||
+          enum1 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundTerrainFeatureDifferentPlanet) {
+        return false;
+      }
+      auto enum2 = options
+                       .find(ash::personalization_app::mojom::
+                                 SeaPenTemplateChip::kVcBackgroundTerrainColor)
+                       ->second;
+      if (enum2 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundTerrainColorPink ||
+          enum2 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundTerrainColorBluePink) {
+        return false;
+      }
+      return true;
+    }
+    case ash::personalization_app::mojom::SeaPenTemplateId::kVcBackgroundCafe: {
+      auto enum1 = options
+                       .find(ash::personalization_app::mojom::
+                                 SeaPenTemplateChip::kVcBackgroundCafeStyle)
+                       ->second;
+      if (enum1 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCafeStyleCozy ||
+          enum1 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCafeStyleRomantic) {
+        return false;
+      }
+      auto enum2 = options
+                       .find(ash::personalization_app::mojom::
+                                 SeaPenTemplateChip::kVcBackgroundCafeType)
+                       ->second;
+      if (enum2 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCafeTypeCottage ||
+          enum2 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCafeTypeOutdoor) {
+        return false;
+      }
+      return true;
+    }
+    case ash::personalization_app::mojom::SeaPenTemplateId::kVcBackgroundArt: {
+      auto enum1 = options
+                       .find(ash::personalization_app::mojom::
+                                 SeaPenTemplateChip::kVcBackgroundArtFeature)
+                       ->second;
+      if (enum1 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundArtFeatureCanyon ||
+          enum1 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundArtFeatureCyberpunk) {
+        return false;
+      }
+      auto enum2 = options
+                       .find(ash::personalization_app::mojom::
+                                 SeaPenTemplateChip::kVcBackgroundArtMovement)
+                       ->second;
+      if (enum2 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundArtMovementAvantGarde ||
+          enum2 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundArtMovementModernArt) {
+        return false;
+      }
+      return true;
+    }
+    case ash::personalization_app::mojom::SeaPenTemplateId::
+        kVcBackgroundDreamscapesVc: {
+      auto enum1 =
+          options
+              .find(ash::personalization_app::mojom::SeaPenTemplateChip::
+                        kVcBackgroundDreamscapesObject)
+              ->second;
+      if (enum1 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundDreamscapesObjectBicycle ||
+          enum1 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundDreamscapesObjectChair) {
+        return false;
+      }
+      auto enum2 =
+          options
+              .find(ash::personalization_app::mojom::SeaPenTemplateChip::
+                        kVcBackgroundDreamscapesMaterial)
+              ->second;
+      if (enum2 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundDreamscapesMaterialFlowers ||
+          enum2 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundDreamscapesMaterialSapphire) {
+        return false;
+      }
+      auto enum3 =
+          options
+              .find(ash::personalization_app::mojom::SeaPenTemplateChip::
+                        kVcBackgroundDreamscapesColors)
+              ->second;
+      if (enum3 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundDreamscapesColorsPinkPurple ||
+          enum3 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundDreamscapesColorsYellowTeal) {
+        return false;
+      }
+      return true;
+    }
+    case ash::personalization_app::mojom::SeaPenTemplateId::
+        kVcBackgroundCharacters: {
+      auto enum1 =
+          options
+              .find(ash::personalization_app::mojom::SeaPenTemplateChip::
+                        kVcBackgroundCharactersColor)
+              ->second;
+      if (enum1 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCharactersColorYellow ||
+          enum1 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCharactersColorCoralPink) {
+        return false;
+      }
+      auto enum2 =
+          options
+              .find(ash::personalization_app::mojom::SeaPenTemplateChip::
+                        kVcBackgroundCharactersSubjects)
+              ->second;
+      if (enum2 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCharactersSubjectsLemons ||
+          enum2 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCharactersSubjectsInstruments) {
+        return false;
+      }
+      auto enum3 =
+          options
+              .find(ash::personalization_app::mojom::SeaPenTemplateChip::
+                        kVcBackgroundCharactersBackground)
+              ->second;
+      if (enum3 < ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCharactersBackgroundPurple ||
+          enum3 > ash::personalization_app::mojom::SeaPenTemplateOption::
+                      kVcBackgroundCharactersBackgroundCoralPink) {
+        return false;
+      }
+      return true;
+    }
   }
   return false;
 }
@@ -1351,13 +2209,14 @@
     const ash::personalization_app::mojom::SeaPenQueryPtr& query,
     std::optional<uint32_t> generation_seed,
     int num_outputs,
-    const gfx::Size& size) {
+    const gfx::Size& size,
+    manta::proto::FeatureName feature_name) {
   DVLOG(2) << __func__ << " generation_seed=" << generation_seed.value_or(0)
            << " num_outputs=" << num_outputs
            << " image_dimensions=" << size.ToString();
 
   manta::proto::Request request;
-  request.set_feature_name(manta::proto::FeatureName::CHROMEOS_WALLPAPER);
+  request.set_feature_name(feature_name);
 
   {
     manta::proto::RequestConfig& request_config =
diff --git a/chrome/browser/ash/wallpaper_handlers/sea_pen_utils.h b/chrome/browser/ash/wallpaper_handlers/sea_pen_utils.h
index 2fb2f1f..672451a6 100644
--- a/chrome/browser/ash/wallpaper_handlers/sea_pen_utils.h
+++ b/chrome/browser/ash/wallpaper_handlers/sea_pen_utils.h
@@ -31,7 +31,8 @@
     const ash::personalization_app::mojom::SeaPenQueryPtr& query,
     std::optional<uint32_t> generation_seed,
     int num_outputs,
-    const gfx::Size& size);
+    const gfx::Size& size,
+    manta::proto::FeatureName feature_name);
 
 }  // namespace wallpaper_handlers
 
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge.cc b/chrome/browser/bookmarks/android/bookmark_bridge.cc
index 4b07a81..b9a2ad70 100644
--- a/chrome/browser/bookmarks/android/bookmark_bridge.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge.cc
@@ -460,6 +460,10 @@
     JNIEnv* env) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   const BookmarkNode* mobile_node = bookmark_model_->account_mobile_node();
+  if (!mobile_node) {
+    return nullptr;
+  }
+
   ScopedJavaLocalRef<jobject> folder_id_obj = JavaBookmarkIdCreateBookmarkId(
       env, mobile_node->id(), GetBookmarkType(mobile_node));
   return folder_id_obj;
@@ -469,6 +473,10 @@
     JNIEnv* env) {
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   const BookmarkNode* other_node = bookmark_model_->account_other_node();
+  if (!other_node) {
+    return nullptr;
+  }
+
   ScopedJavaLocalRef<jobject> folder_id_obj = JavaBookmarkIdCreateBookmarkId(
       env, other_node->id(), GetBookmarkType(other_node));
   return folder_id_obj;
@@ -479,6 +487,10 @@
   DCHECK_CURRENTLY_ON(BrowserThread::UI);
   const BookmarkNode* desktop_node =
       bookmark_model_->account_bookmark_bar_node();
+  if (!desktop_node) {
+    return nullptr;
+  }
+
   ScopedJavaLocalRef<jobject> folder_id_obj = JavaBookmarkIdCreateBookmarkId(
       env, desktop_node->id(), GetBookmarkType(desktop_node));
   return folder_id_obj;
diff --git a/chrome/browser/bookmarks/android/bookmark_bridge_unittest.cc b/chrome/browser/bookmarks/android/bookmark_bridge_unittest.cc
index 088b4c4..826baee 100644
--- a/chrome/browser/bookmarks/android/bookmark_bridge_unittest.cc
+++ b/chrome/browser/bookmarks/android/bookmark_bridge_unittest.cc
@@ -210,9 +210,10 @@
       bookmark_bridge()->GetMostRecentlyAddedUserBookmarkIdForUrlImpl(url));
 
   // Add to the reading list and verify that it's the most recently added.
-  //   recently_added = local_or_syncable_reading_list_manager()->Add(url,
-  //   "fourth"); ASSERT_EQ(recently_added,
-  //   bookmark_bridge()->GetMostRecentlyAddedUserBookmarkIdForUrlImpl(url));
+  recently_added = local_or_syncable_reading_list_manager()->Add(url, "fourth");
+  ASSERT_EQ(
+      recently_added,
+      bookmark_bridge()->GetMostRecentlyAddedUserBookmarkIdForUrlImpl(url));
 }
 
 TEST_F(BookmarkBridgeTest, TestGetTopLevelFolderIds) {
@@ -249,6 +250,14 @@
   EXPECT_EQ(u"Reading list", folders[2]->GetTitle());
 }
 
+TEST_F(BookmarkBridgeTest, AccountFoldersNullWhileNotEnabled) {
+  JNIEnv* const env = AttachCurrentThread();
+  EXPECT_TRUE(bookmark_bridge()->GetAccountMobileFolderId(env).is_null());
+  EXPECT_TRUE(bookmark_bridge()->GetAccountOtherFolderId(env).is_null());
+  EXPECT_TRUE(bookmark_bridge()->GetAccountDesktopFolderId(env).is_null());
+  EXPECT_TRUE(bookmark_bridge()->GetAccountReadingListFolder(env).is_null());
+}
+
 // TODO(crbug.com/1509189): Also enable bookmark account folders here.
 TEST_F(BookmarkBridgeTest, TestGetTopLevelFolderIdsAccountActive) {
   CreateBookmarkBridge(/*enable_account_bookmarks=*/true);
@@ -286,6 +295,15 @@
   EXPECT_FALSE(bookmark_bridge()->IsAccountBookmarkImpl(folders[4]));
 }
 
+TEST_F(BookmarkBridgeTest, AccountFoldersNonNullWhileEnabled) {
+  CreateBookmarkBridge(/*enable_account_bookmarks=*/true);
+  JNIEnv* const env = AttachCurrentThread();
+  EXPECT_FALSE(bookmark_bridge()->GetAccountMobileFolderId(env).is_null());
+  EXPECT_FALSE(bookmark_bridge()->GetAccountOtherFolderId(env).is_null());
+  EXPECT_FALSE(bookmark_bridge()->GetAccountDesktopFolderId(env).is_null());
+  EXPECT_FALSE(bookmark_bridge()->GetAccountReadingListFolder(env).is_null());
+}
+
 TEST_F(BookmarkBridgeTest, GetChildIdsMobileShowsPartner) {
   std::vector<const BookmarkNode*> children =
       bookmark_bridge()->GetChildIdsImpl(bookmark_model()->mobile_node());
diff --git a/chrome/browser/compose/chrome_compose_client.cc b/chrome/browser/compose/chrome_compose_client.cc
index 6a542555..2194737 100644
--- a/chrome/browser/compose/chrome_compose_client.cc
+++ b/chrome/browser/compose/chrome_compose_client.cc
@@ -368,7 +368,6 @@
   }
 
   ComposeSession* active_session = GetSessionForActiveComposeField();
-  open_settings_requested_ = false;
 
   if (active_session) {
     active_session->SetMSBBCloseReason(close_reason);
@@ -382,7 +381,6 @@
   }
 
   ComposeSession* active_session = GetSessionForActiveComposeField();
-  open_settings_requested_ = false;
 
   if (active_session) {
     active_session->SetFirstRunCloseReason(close_reason);
@@ -396,7 +394,6 @@
   }
 
   ComposeSession* active_session = GetSessionForActiveComposeField();
-  open_settings_requested_ = false;
 
   if (active_session) {
     active_session->SetCloseReason(close_reason);
@@ -408,23 +405,8 @@
     debug_session_.reset();
   }
 
-  // Since this is being called upon switching tabs we need to not close the
-  // active session in the case where it will be reopened upon return.
-  ComposeSession* active_session = GetSessionForActiveComposeField();
-  open_settings_requested_ = false;
-
-  if (active_session && open_settings_requested_) {
-    for (auto it = sessions_.begin(); it != sessions_.end();) {
-      if (it->first != active_compose_ids_.value().first) {
-        it = sessions_.erase(it);
-      } else {
-        ++it;
-      }
-    }
-  } else {
-    sessions_.erase(sessions_.begin(), sessions_.end());
-    active_compose_ids_.reset();
-  }
+  sessions_.erase(sessions_.begin(), sessions_.end());
+  active_compose_ids_.reset();
 }
 
 ComposeSession* ChromeComposeClient::GetSessionForActiveComposeField() {
@@ -542,7 +524,6 @@
 
 void ChromeComposeClient::OpenFeedbackPageForTest(std::string feedback_id) {
   ComposeSession* active_session = GetSessionForActiveComposeField();
-  open_settings_requested_ = false;
 
   if (active_session) {
     active_session->OpenFeedbackPage(feedback_id);
diff --git a/chrome/browser/content_settings/one_time_permission_provider.cc b/chrome/browser/content_settings/one_time_permission_provider.cc
index 3db9150..8fb0f75 100644
--- a/chrome/browser/content_settings/one_time_permission_provider.cc
+++ b/chrome/browser/content_settings/one_time_permission_provider.cc
@@ -79,18 +79,19 @@
     base::Value&& value,
     const content_settings::ContentSettingConstraints& constraints,
     const content_settings::PartitionKey& partition_key) {
+  // The current implementation of this method doesn't handle website settings
+  // because this method doesn't know how to read the state in value for them.
+  // Additionally the transitions as well as responsibility sharing between this
+  // provider and the pref provider may be different in those cases. Such
+  // settings are currently rejected by
+  // `PermissionUtil::CanPermissionBeAllowedOnce`. If in the future such
+  // settings should be supported, this method will need to be amended
+  // accordingly.
   if (!permissions::PermissionUtil::CanPermissionBeAllowedOnce(
           content_settings_type)) {
     return false;
   }
 
-  if (!content_settings::ContentSettingsRegistry::GetInstance()->Get(
-          content_settings_type)) {
-    // Object permissions cannot be mapped to a ContentSetting and thus cannot
-    // be handled by this provider.
-    return false;
-  }
-
   auto content_setting = content_settings::ValueToContentSetting(value);
 
   // For transitions to block and resetting to default, clear the grant and let
diff --git a/chrome/browser/extensions/service_worker_lifetime_keepalive_browsertest.cc b/chrome/browser/extensions/service_worker_lifetime_keepalive_browsertest.cc
index 369c089a..0285b4b 100644
--- a/chrome/browser/extensions/service_worker_lifetime_keepalive_browsertest.cc
+++ b/chrome/browser/extensions/service_worker_lifetime_keepalive_browsertest.cc
@@ -867,4 +867,141 @@
   // for keepalives, since the profile is gone.
 }
 
+// Tests that we can safely shut down a BrowserContext when an extension has
+// an active message port to another extension, where each are running in
+// split incognito mode.
+// Regression test for https://crbug.com/1476316.
+IN_PROC_BROWSER_TEST_F(ServiceWorkerLifetimeKeepaliveBrowsertest,
+                       ShutdownWithActiveMessagePipe_BetweenExtensions) {
+  // A split-mode extension. This will have a separate process for the on- and
+  // off-the-record profiles.
+  static constexpr char kManifest[] =
+      R"({
+           "name": "Test",
+           "manifest_version": 3,
+           "version": "0.1",
+           "incognito": "split",
+           "background": {"service_worker": "background.js"}
+         })";
+  // A background page that knows how to open a message pipe to another
+  // extension.
+  static constexpr char kOpenerBackgroundJs[] =
+      R"(async function openMessagePipe(listenerId) {
+           // Note: Pass a callback to signal a reply is expected.
+           chrome.runtime.sendMessage(listenerId, 'hello', () => {});
+         })";
+  // The listener extension will listen for an external message (from the
+  // opener mode extension). We save the `sendReply` callback so it's not
+  // garbage collected and keeps the message pipe open, and then asynchronously
+  // respond that the message was received. The asynchronous response is
+  // important in order to ensure the message being received from this
+  // extension is properly ack'd.
+  static constexpr char kListenerBackgroundJs[] =
+      R"(chrome.runtime.onMessageExternal.addListener(
+             (msg, sender, sendReply) => {
+               self.sendReply = sendReply;
+               setTimeout(() => { chrome.test.sendScriptResult('success'); });
+               return true;
+             });)";
+
+  TestExtensionDir opener_extension_dir;
+  opener_extension_dir.WriteManifest(kManifest);
+  opener_extension_dir.WriteFile(FILE_PATH_LITERAL("background.js"),
+                                 kOpenerBackgroundJs);
+
+  TestExtensionDir listener_extension_dir;
+  listener_extension_dir.WriteManifest(kManifest);
+  listener_extension_dir.WriteFile(FILE_PATH_LITERAL("background.js"),
+                                   kListenerBackgroundJs);
+
+  const Extension* opener_extension = LoadExtension(
+      opener_extension_dir.UnpackedPath(), {.allow_in_incognito = true});
+  ASSERT_TRUE(opener_extension);
+  const Extension* listener_extension = LoadExtension(
+      listener_extension_dir.UnpackedPath(), {.allow_in_incognito = true});
+  ASSERT_TRUE(listener_extension);
+
+  // Open a new tab in incognito. This spawns the new process for the split mode
+  // extensions.
+  Browser* incognito_browser = OpenURLOffTheRecord(
+      profile(), embedded_test_server()->GetURL("example.com", "/simple.html"));
+
+  // Send a message from one extension to the other, opening a message pipe.
+  // Since the listener extension never responds, the message pipe will
+  // remain open. The listener then sends the script result 'success' when it
+  // receives the message.
+  static constexpr char kOpenMessagePipe[] = R"(openMessagePipe('%s');)";
+  Profile* incognito_profile = incognito_browser->profile();
+  base::Value script_result = BackgroundScriptExecutor::ExecuteScript(
+      incognito_profile, opener_extension->id(),
+      base::StringPrintf(kOpenMessagePipe, listener_extension->id().c_str()),
+      BackgroundScriptExecutor::ResultCapture::kSendScriptResult);
+  EXPECT_EQ("success", script_result);
+
+  ProcessManager* incognito_process_manager =
+      ProcessManager::Get(incognito_profile);
+
+  // Grab each extension's active worker.
+  std::vector<WorkerId> opener_worker_ids =
+      incognito_process_manager->GetServiceWorkersForExtension(
+          opener_extension->id());
+  ASSERT_EQ(1u, opener_worker_ids.size());
+  WorkerId opener_worker_id = opener_worker_ids[0];
+
+  std::vector<WorkerId> listener_worker_ids =
+      incognito_process_manager->GetServiceWorkersForExtension(
+          listener_extension->id());
+  ASSERT_EQ(1u, listener_worker_ids.size());
+  WorkerId listener_worker_id = listener_worker_ids[0];
+
+  // Verify the service workers currently have a keepalive for the message
+  // port.
+  // The keepalive flow is as follows:
+  // * Open a new message port. Add keepalives for both extensions with
+  //   Activity::MESSAGE_PORT.
+  // * Message is sent to the listener extension. New Activity::MESSAGE
+  //   keepalive is added for the sender extension.
+  // * The message is ack'd from the listener extension's process.
+  //   Activity::MESSAGE keepalive is removed for the sender extension.
+  //   Since we signal success in the listener asynchronously, the keepalive is
+  //   guaranteed to have resolved. (Otherwise, it could potentially be racy).
+  // * Send chrome.test.sendScriptResult() from the listener extension.
+  //   Add and remove Activity::API_FUNCTION keepalives.
+  // Thus, at the end, the remaining keepalives are one MESSAGE_PORT keepalive
+  // for each extension.
+  EXPECT_THAT(
+      incognito_process_manager->GetServiceWorkerKeepaliveDataForRecords(
+          opener_extension->id()),
+      testing::UnorderedElementsAre(
+          GetKeepaliveMatcher(opener_worker_id, Activity::MESSAGE_PORT)));
+  EXPECT_THAT(
+      incognito_process_manager->GetServiceWorkerKeepaliveDataForRecords(
+          listener_extension->id()),
+      testing::UnorderedElementsAre(
+          GetKeepaliveMatcher(listener_worker_id, Activity::MESSAGE_PORT)));
+
+  // Close the incognito browser while the message channel is still open. Since
+  // this is the only browser window for the incognito context, this also
+  // results in the browser context being invalidated.
+  // As part of this, the keepalives are removed for the extensions, which
+  // can trigger an attempted removal of an external request from the
+  // service worker layer. Since the context is being shut down, this can
+  // fail with `content::ServiceWorkerExternalRequestResult::kNullContext`. This
+  // is fine, since the whole context is going away.
+  // See https://crbug.com/1476316.
+  ProfileDestructionWaiter profile_destruction_waiter(incognito_profile);
+  TestBrowserClosedWaiter browser_closed_waiter(incognito_browser);
+  incognito_browser->window()->Close();
+  ASSERT_TRUE(browser_closed_waiter.WaitUntilClosed());
+  profile_destruction_waiter.Wait();
+  // Note: `ProfileDestructionWaiter` only waits for the profile to signal it
+  // *will* be destroyed. Spin once to finish the job.
+  base::RunLoop().RunUntilIdle();
+  // Verify the profile is destroyed.
+  EXPECT_FALSE(
+      g_browser_process->profile_manager()->IsValidProfile(incognito_profile));
+  // The test succeeds if there are no crashes. There's nothing left to verify
+  // for keepalives, since the profile is gone.
+}
+
 }  // namespace extensions
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
index 9c79dcf0..6d30179 100644
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.cc
@@ -2243,6 +2243,17 @@
   }
 }
 
+void ChromeFileSystemAccessPermissionContext::TriggerTimersForTesting() {
+  for (const auto& it : active_permissions_map_) {
+    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+    if (it.second.cleanup_timer) {
+      auto task = it.second.cleanup_timer->user_task();
+      it.second.cleanup_timer->Stop();
+      task.Run();
+    }
+  }
+}
+
 void ChromeFileSystemAccessPermissionContext::MaybeCleanupPermissions(
     const url::Origin& origin) {
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
diff --git a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
index 71ed9ae..f37583f1 100644
--- a/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
+++ b/chrome/browser/file_system_access/chrome_file_system_access_permission_context.h
@@ -288,6 +288,8 @@
 
   content::BrowserContext* profile() const { return profile_; }
 
+  void TriggerTimersForTesting();
+
   void SetOriginHasExtendedPermissionForTesting(const url::Origin& origin);
 
   scoped_refptr<content::FileSystemAccessPermissionGrant>
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 5441054..dcce289 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -6784,11 +6784,6 @@
     "expiry_milestone": 130
   },
   {
-    "name": "promos-manager-uses-fet",
-    "owners": ["rkgibson@google.com", "bling-get-set-up@google.com"],
-    "expiry_milestone": 120
-  },
-  {
     "name": "protected-audience-debug-token",
     "owners": [
       "behamilton@google.com",
diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubColors.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubColors.java
index 07207d0..2283955 100644
--- a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubColors.java
+++ b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubColors.java
@@ -15,11 +15,15 @@
 import androidx.core.content.ContextCompat;
 
 import org.chromium.components.browser_ui.styles.SemanticColorUtils;
+import org.chromium.ui.util.ColorUtils;
+import org.chromium.ui.util.ValueUtils;
 
 /** Util class to handle various color operations shared between hub classes. */
 public final class HubColors {
     private static final int[][] SELECTED_AND_NORMAL_STATES =
             new int[][] {new int[] {android.R.attr.state_selected}, new int[] {}};
+    private static final int[][] DISABLED_AND_NORMAL_STATES =
+            new int[][] {new int[] {-android.R.attr.state_enabled}, new int[] {}};
 
     private HubColors() {}
 
@@ -43,15 +47,17 @@
     }
 
     /** Returns the color most icons should use per the given color scheme. */
-    public static @ColorInt int getIconColor(Context context, @HubColorScheme int colorScheme) {
+    public static ColorStateList getIconColor(Context context, @HubColorScheme int colorScheme) {
         switch (colorScheme) {
             case HubColorScheme.DEFAULT:
-                return SemanticColorUtils.getDefaultIconColor(context);
+                return ContextCompat.getColorStateList(
+                        context, R.color.default_icon_color_tint_list);
             case HubColorScheme.INCOGNITO:
-                return ContextCompat.getColor(context, R.color.default_icon_color_light);
+                return ContextCompat.getColorStateList(
+                        context, R.color.default_icon_color_light_tint_list);
             default:
                 assert false;
-                return Color.TRANSPARENT;
+                return ColorStateList.valueOf(Color.TRANSPARENT);
         }
     }
 
@@ -69,6 +75,16 @@
         }
     }
 
+    /** Returns the color of secondary contains that reacts to being disabled. */
+    public static ColorStateList getSecondaryContainerColorStateList(
+            Context context, @HubColorScheme int colorScheme) {
+        Resources resources = context.getResources();
+        @ColorInt int color = getSecondaryContainerColor(context, colorScheme);
+        float alpha = ValueUtils.getFloat(resources, R.dimen.filled_button_bg_disabled_alpha);
+        int[] colors = new int[] {ColorUtils.setAlphaComponentWithFloat(color, alpha), color};
+        return new ColorStateList(DISABLED_AND_NORMAL_STATES, colors);
+    }
+
     /** Returns the color of secondary contains like the floating action button. */
     public static @ColorInt int getSecondaryContainerColor(
             Context context, @HubColorScheme int colorScheme) {
diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubPaneHostView.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubPaneHostView.java
index ba12ffc..11d5cda5 100644
--- a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubPaneHostView.java
+++ b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubPaneHostView.java
@@ -10,7 +10,6 @@
 import android.view.View;
 import android.widget.FrameLayout;
 
-import androidx.annotation.ColorInt;
 import androidx.annotation.Nullable;
 import androidx.annotation.StyleRes;
 import androidx.core.widget.TextViewCompat;
@@ -48,12 +47,12 @@
     void setColorScheme(@HubColorScheme int colorScheme) {
         Context context = getContext();
 
-        @ColorInt int iconColor = HubColors.getIconColor(context, colorScheme);
-        TextViewCompat.setCompoundDrawableTintList(
-                mActionButton, ColorStateList.valueOf(iconColor));
+        ColorStateList iconColor = HubColors.getIconColor(context, colorScheme);
+        TextViewCompat.setCompoundDrawableTintList(mActionButton, iconColor);
 
-        @ColorInt int backgroundColor = HubColors.getSecondaryContainerColor(context, colorScheme);
-        mActionButton.setButtonColor(ColorStateList.valueOf(backgroundColor));
+        ColorStateList backgroundColor =
+                HubColors.getSecondaryContainerColorStateList(context, colorScheme);
+        mActionButton.setButtonColor(backgroundColor);
 
         @StyleRes int textAppearance = HubColors.getTextAppearanceMedium(colorScheme);
         mActionButton.setTextAppearance(textAppearance);
diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubPaneHostViewRenderTest.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubPaneHostViewRenderTest.java
index 761ad93..db78432 100644
--- a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubPaneHostViewRenderTest.java
+++ b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubPaneHostViewRenderTest.java
@@ -43,7 +43,7 @@
     public ChromeRenderTestRule mRenderTestRule =
             ChromeRenderTestRule.Builder.withPublicCorpus()
                     .setBugComponent(ChromeRenderTestRule.Component.UI_BROWSER_MOBILE_HUB)
-                    .setRevision(1)
+                    .setRevision(2)
                     .build();
 
     private Activity mActivity;
@@ -74,22 +74,34 @@
         DisplayButtonData displayButtonData =
                 new ResourceButtonData(
                         R.string.button_new_tab, R.string.button_new_tab, R.drawable.ic_add);
-        FullButtonData fullButtonData = new DelegateButtonData(displayButtonData, () -> {});
+        FullButtonData enabledButtonData = new DelegateButtonData(displayButtonData, () -> {});
         TestThreadUtils.runOnUiThreadBlocking(
                 () -> {
                     @ColorInt int defaultBgColor = SemanticColorUtils.getDefaultBgColor(mActivity);
                     View rootView = solidColorView(defaultBgColor);
                     mPropertyModel.set(COLOR_SCHEME, HubColorScheme.DEFAULT);
                     mPropertyModel.set(PANE_ROOT_VIEW, rootView);
-                    mPropertyModel.set(ACTION_BUTTON_DATA, fullButtonData);
+                    mPropertyModel.set(ACTION_BUTTON_DATA, enabledButtonData);
                 });
         mRenderTestRule.render(mPaneHost, "defaultButton");
 
+        FullButtonData disabledButtonData = new DelegateButtonData(displayButtonData, () -> {});
         TestThreadUtils.runOnUiThreadBlocking(
-                () -> mPropertyModel.set(COLOR_SCHEME, HubColorScheme.INCOGNITO));
+                () -> mPropertyModel.set(ACTION_BUTTON_DATA, disabledButtonData));
+        mRenderTestRule.render(mPaneHost, "disabledButton");
+
+        TestThreadUtils.runOnUiThreadBlocking(
+                () -> {
+                    mPropertyModel.set(COLOR_SCHEME, HubColorScheme.INCOGNITO);
+                    mPropertyModel.set(ACTION_BUTTON_DATA, enabledButtonData);
+                });
         mRenderTestRule.render(mPaneHost, "incognitoButton");
 
         TestThreadUtils.runOnUiThreadBlocking(
+                () -> mPropertyModel.set(ACTION_BUTTON_DATA, disabledButtonData));
+        mRenderTestRule.render(mPaneHost, "disabledIncognitoButton");
+
+        TestThreadUtils.runOnUiThreadBlocking(
                 () -> {
                     mPropertyModel.set(PANE_ROOT_VIEW, null);
                     mPropertyModel.set(ACTION_BUTTON_DATA, null);
diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarView.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarView.java
index ef5099b..c320d1f 100644
--- a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarView.java
+++ b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarView.java
@@ -89,11 +89,11 @@
     void setColorScheme(@HubColorScheme int colorScheme) {
         Context context = getContext();
         setBackgroundColor(HubColors.getBackgroundColor(context, colorScheme));
-        @ColorInt int iconColor = HubColors.getIconColor(context, colorScheme);
+        ColorStateList iconColor = HubColors.getIconColor(context, colorScheme);
         @ColorInt int selectedIconColor = HubColors.getSelectedIconColor(context, colorScheme);
-        TextViewCompat.setCompoundDrawableTintList(
-                mActionButton, ColorStateList.valueOf(iconColor));
-        mPaneSwitcher.setTabIconTint(HubColors.getSelectableIconList(selectedIconColor, iconColor));
+        TextViewCompat.setCompoundDrawableTintList(mActionButton, iconColor);
+        mPaneSwitcher.setTabIconTint(
+                HubColors.getSelectableIconList(selectedIconColor, iconColor.getDefaultColor()));
         mPaneSwitcher.setSelectedTabIndicatorColor(selectedIconColor);
 
         // TODO(https://crbug.com/1507839): Updating the app menu color here is more correct and
diff --git a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarViewRenderTest.java b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarViewRenderTest.java
index a8ff7cd..260facb 100644
--- a/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarViewRenderTest.java
+++ b/chrome/browser/hub/internal/android/java/src/org/chromium/chrome/browser/hub/HubToolbarViewRenderTest.java
@@ -8,6 +8,7 @@
 import android.view.LayoutInflater;
 
 import androidx.annotation.DrawableRes;
+import androidx.annotation.Nullable;
 import androidx.test.filters.MediumTest;
 
 import org.junit.Before;
@@ -44,7 +45,7 @@
     public ChromeRenderTestRule mRenderTestRule =
             ChromeRenderTestRule.Builder.withPublicCorpus()
                     .setBugComponent(ChromeRenderTestRule.Component.UI_BROWSER_MOBILE_HUB)
-                    .setRevision(3)
+                    .setRevision(5)
                     .build();
 
     private Activity mActivity;
@@ -68,22 +69,32 @@
         PropertyModelChangeProcessor.create(mPropertyModel, mToolbar, HubToolbarViewBinder::bind);
     }
 
-    private FullButtonData makeButtonData(@DrawableRes int drawableRes) {
+    private FullButtonData enabledButtonData(@DrawableRes int drawableRes) {
+        return makeButtonData(drawableRes, () -> {});
+    }
+
+    private FullButtonData disabledButtonData(@DrawableRes int drawableRes) {
+        return makeButtonData(drawableRes, null);
+    }
+
+    private FullButtonData makeButtonData(
+            @DrawableRes int drawableRes, @Nullable Runnable onPress) {
         DisplayButtonData displayButtonData =
                 new ResourceButtonData(
                         R.string.button_new_tab, R.string.button_new_tab, drawableRes);
-        return new DelegateButtonData(displayButtonData, () -> {});
+        return new DelegateButtonData(displayButtonData, onPress);
     }
 
     @Test
     @MediumTest
     @Feature({"RenderTest"})
     public void testActionButton() throws Exception {
-        FullButtonData fullButtonData = makeButtonData(R.drawable.new_tab_icon);
+        FullButtonData enabledButtonData = enabledButtonData(R.drawable.new_tab_icon);
+        FullButtonData disabledButtonData = disabledButtonData(R.drawable.new_tab_icon);
 
         TestThreadUtils.runOnUiThreadBlocking(
                 () -> {
-                    mPropertyModel.set(HubToolbarProperties.ACTION_BUTTON_DATA, fullButtonData);
+                    mPropertyModel.set(HubToolbarProperties.ACTION_BUTTON_DATA, enabledButtonData);
                     mPropertyModel.set(HubToolbarProperties.SHOW_ACTION_BUTTON_TEXT, true);
                 });
         mRenderTestRule.render(mToolbar, "actionButtonWithText");
@@ -93,26 +104,38 @@
         mRenderTestRule.render(mToolbar, "actionButtonOnlyImage");
 
         TestThreadUtils.runOnUiThreadBlocking(
+                () ->
+                        mPropertyModel.set(
+                                HubToolbarProperties.ACTION_BUTTON_DATA, disabledButtonData));
+        mRenderTestRule.render(mToolbar, "disabledButtonOnlyImage");
+
+        TestThreadUtils.runOnUiThreadBlocking(
                 () -> mPropertyModel.set(HubToolbarProperties.ACTION_BUTTON_DATA, null));
         mRenderTestRule.render(mToolbar, "noActionButton");
 
         TestThreadUtils.runOnUiThreadBlocking(
                 () -> {
-                    mPropertyModel.set(HubToolbarProperties.ACTION_BUTTON_DATA, fullButtonData);
+                    mPropertyModel.set(HubToolbarProperties.ACTION_BUTTON_DATA, enabledButtonData);
                     mPropertyModel.set(HubToolbarProperties.SHOW_ACTION_BUTTON_TEXT, true);
                     mPropertyModel.set(HubToolbarProperties.COLOR_SCHEME, HubColorScheme.INCOGNITO);
                 });
         mRenderTestRule.render(mToolbar, "actionButtonIncognito");
+
+        TestThreadUtils.runOnUiThreadBlocking(
+                () -> {
+                    mPropertyModel.set(HubToolbarProperties.ACTION_BUTTON_DATA, disabledButtonData);
+                });
+        mRenderTestRule.render(mToolbar, "disabledActionButtonIncognito");
     }
 
     @Test
     @MediumTest
     @Feature({"RenderTest"})
     public void testPaneSwitcher() throws Exception {
-        FullButtonData actionButtonData = makeButtonData(R.drawable.new_tab_icon);
+        FullButtonData actionButtonData = enabledButtonData(R.drawable.new_tab_icon);
         List<FullButtonData> paneSwitcherButtonData = new ArrayList<>();
-        paneSwitcherButtonData.add(makeButtonData(R.drawable.new_tab_icon));
-        paneSwitcherButtonData.add(makeButtonData(R.drawable.incognito_small));
+        paneSwitcherButtonData.add(enabledButtonData(R.drawable.new_tab_icon));
+        paneSwitcherButtonData.add(enabledButtonData(R.drawable.incognito_small));
 
         TestThreadUtils.runOnUiThreadBlocking(
                 () -> {
diff --git a/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.xml b/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.xml
index 9c1eb45f..d3eb41b9 100644
--- a/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.xml
+++ b/chrome/browser/hub/internal/android/res/layout/hub_toolbar_layout.xml
@@ -38,7 +38,7 @@
       android:layout_height="match_parent"
       android:layout_gravity="center"
       android:visibility="gone"
-      android:layout_marginBottom="4dp"/>
+      android:layout_marginBottom="3dp"/>
 
     <FrameLayout
       android:layout_width="wrap_content"
diff --git a/chrome/browser/metrics/structured/BUILD.gn b/chrome/browser/metrics/structured/BUILD.gn
index e768c5e..fc90feb 100644
--- a/chrome/browser/metrics/structured/BUILD.gn
+++ b/chrome/browser/metrics/structured/BUILD.gn
@@ -15,12 +15,29 @@
       "key_data_provider_ash.cc",
       "key_data_provider_ash.h",
     ]
-    deps = [
-      "//components/metrics",
-      "//components/metrics/structured",
-      "//components/metrics/structured:external_metrics",
-      "//components/metrics/structured:structured_metrics_validator",
+  } else if (is_win || is_linux || is_mac) {
+    sources = [
+      "chrome_event_storage.cc",
+      "chrome_event_storage.h",
+      "chrome_structured_metrics_recorder.cc",
+      "chrome_structured_metrics_recorder.h",
+      "key_data_provider_chrome.cc",
+      "key_data_provider_chrome.h",
     ]
+  } else {
+    sources = []
+  }
+
+  deps = [
+    "//components/metrics",
+    "//components/metrics/structured",
+    "//components/metrics/structured:structured_metrics_validator",
+  ]
+
+  if (is_chromeos_ash) {
+    deps += [ "//components/metrics/structured:external_metrics" ]
+  } else if (is_win || is_linux || is_mac) {
+    deps += [ "//components/prefs" ]
   }
 }
 
diff --git a/chrome/browser/metrics/structured/chrome_event_storage.cc b/chrome/browser/metrics/structured/chrome_event_storage.cc
new file mode 100644
index 0000000..93fb6a0
--- /dev/null
+++ b/chrome/browser/metrics/structured/chrome_event_storage.cc
@@ -0,0 +1,40 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/metrics/structured/chrome_event_storage.h"
+
+#include "components/metrics/structured/histogram_util.h"
+
+namespace metrics::structured {
+ChromeEventStorage::ChromeEventStorage() = default;
+
+ChromeEventStorage::~ChromeEventStorage() = default;
+
+// TODO(b/320995781): Cleanup the API to take event by value.
+void ChromeEventStorage::AddEvent(StructuredEventProto&& event) {
+  *events_.add_non_uma_events() = std::move(event);
+}
+
+// TODO(b/320995781): Change the name TakeEvent and return
+// mutable_non_uma_events().
+void ChromeEventStorage::MoveEvents(ChromeUserMetricsExtension& uma_proto) {
+  StructuredDataProto* proto = uma_proto.mutable_structured_data();
+  proto->mutable_events()->Swap(events_.mutable_non_uma_events());
+
+  events_.clear_non_uma_events();
+}
+
+int ChromeEventStorage::RecordedEventsCount() const {
+  return events_.non_uma_events_size();
+}
+
+void ChromeEventStorage::Purge() {
+  events_.clear_non_uma_events();
+}
+
+void ChromeEventStorage::CopyEvents(EventsProto* proto) const {
+  proto->mutable_non_uma_events()->MergeFrom(events_.non_uma_events());
+}
+
+}  // namespace metrics::structured
diff --git a/chrome/browser/metrics/structured/chrome_event_storage.h b/chrome/browser/metrics/structured/chrome_event_storage.h
new file mode 100644
index 0000000..483faaf
--- /dev/null
+++ b/chrome/browser/metrics/structured/chrome_event_storage.h
@@ -0,0 +1,39 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_METRICS_STRUCTURED_CHROME_EVENT_STORAGE_H_
+#define CHROME_BROWSER_METRICS_STRUCTURED_CHROME_EVENT_STORAGE_H_
+
+#include "components/metrics/structured/event_storage.h"
+#include "components/metrics/structured/persistent_proto.h"
+#include "components/metrics/structured/proto/event_storage.pb.h"
+
+namespace metrics::structured {
+
+// Storage for Structured Metrics events on Chrome (Windows, Linux, and Mac).
+//
+// The events are stored in-memory and are lost on crash.
+class ChromeEventStorage : public EventStorage {
+ public:
+  ChromeEventStorage();
+
+  ChromeEventStorage(const ChromeEventStorage&) = delete;
+  ChromeEventStorage& operator=(const ChromeEventStorage&) = delete;
+
+  ~ChromeEventStorage() override;
+
+  // EventStorage:
+  void AddEvent(StructuredEventProto&& event) override;
+  void MoveEvents(ChromeUserMetricsExtension& uma_proto) override;
+  int RecordedEventsCount() const override;
+  void Purge() override;
+  void CopyEvents(EventsProto* proto) const override;
+
+ private:
+  EventsProto events_;
+};
+
+}  // namespace metrics::structured
+
+#endif  // CHROME_BROWSER_METRICS_STRUCTURED_CHROME_EVENT_STORAGE_H_
diff --git a/chrome/browser/metrics/structured/chrome_event_storage_unittest.cc b/chrome/browser/metrics/structured/chrome_event_storage_unittest.cc
new file mode 100644
index 0000000..d82d62e
--- /dev/null
+++ b/chrome/browser/metrics/structured/chrome_event_storage_unittest.cc
@@ -0,0 +1,121 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/metrics/structured/chrome_event_storage.h"
+
+#include <cstdint>
+#include <vector>
+
+#include "base/files/file_path.h"
+#include "base/files/scoped_temp_dir.h"
+#include "base/test/metrics/histogram_tester.h"
+#include "base/test/task_environment.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/metrics_proto/chrome_user_metrics_extension.pb.h"
+#include "third_party/metrics_proto/structured_data.pb.h"
+
+namespace metrics::structured {
+namespace {
+StructuredEventProto BuildTestEvent(
+    uint64_t id = 0,
+    const std::vector<int64_t>& metrics = std::vector<int64_t>()) {
+  StructuredEventProto event;
+  event.set_device_project_id(id);
+  int metric_id = 0;
+  for (int64_t metric : metrics) {
+    auto* m = event.add_metrics();
+    m->set_name_hash(metric_id++);
+    m->set_value_int64(metric);
+  }
+  return event;
+}
+}  // namespace
+
+class ChromeEventStorageTest : public testing::Test {
+ public:
+  void Wait() { task_environment_.RunUntilIdle(); }
+
+  StructuredDataProto GetReport(ChromeEventStorage* storage) {
+    ChromeUserMetricsExtension uma;
+
+    storage->MoveEvents(uma);
+
+    return uma.structured_data();
+  }
+
+  void ExpectNoErrors() {
+    histogram_tester_.ExpectTotalCount("UMA.StructuredMetrics.InternalError",
+                                       0);
+  }
+
+ private:
+  base::test::TaskEnvironment task_environment_{
+      base::test::TaskEnvironment::MainThreadType::UI,
+      base::test::TaskEnvironment::ThreadPoolExecutionMode::QUEUED,
+      base::test::TaskEnvironment::TimeSource::MOCK_TIME};
+
+  base::HistogramTester histogram_tester_;
+  base::ScopedTempDir temp_dir_;
+};
+
+TEST_F(ChromeEventStorageTest, StoreAndProvideEvents) {
+  ChromeEventStorage storage;
+
+  Wait();
+
+  ASSERT_TRUE(storage.IsReady());
+
+  storage.AddEvent(BuildTestEvent());
+  EXPECT_EQ(storage.RecordedEventsCount(), 1);
+
+  EventsProto events;
+  storage.CopyEvents(&events);
+  EXPECT_EQ(events.non_uma_events_size(), 1);
+
+  StructuredDataProto proto = GetReport(&storage);
+  EXPECT_EQ(proto.events_size(), 1);
+
+  // Storage should have no events after a successful dump.
+  events.Clear();
+  storage.CopyEvents(&events);
+  EXPECT_EQ(events.non_uma_events_size(), 0);
+
+  ExpectNoErrors();
+}
+
+TEST_F(ChromeEventStorageTest, EventsClearedAfterReport) {
+  ChromeEventStorage storage;
+  Wait();
+
+  storage.AddEvent(BuildTestEvent());
+  storage.AddEvent(BuildTestEvent());
+
+  // Should provide both the previous events.
+  EXPECT_EQ(GetReport(&storage).events_size(), 2);
+
+  // But the previous events shouldn't appear in the second report.
+  EXPECT_EQ(GetReport(&storage).events_size(), 0);
+
+  storage.AddEvent(BuildTestEvent());
+  // The third request should only contain the third event.
+  EXPECT_EQ(GetReport(&storage).events_size(), 1);
+
+  ExpectNoErrors();
+}
+
+TEST_F(ChromeEventStorageTest, Purge) {
+  ChromeEventStorage storage;
+
+  storage.AddEvent(BuildTestEvent());
+  storage.AddEvent(BuildTestEvent());
+
+  EXPECT_EQ(storage.RecordedEventsCount(), 2);
+
+  storage.Purge();
+
+  EXPECT_EQ(storage.RecordedEventsCount(), 0);
+  EXPECT_EQ(GetReport(&storage).events_size(), 0);
+}
+
+}  // namespace metrics::structured
diff --git a/chrome/browser/metrics/structured/chrome_structured_metrics_recorder.cc b/chrome/browser/metrics/structured/chrome_structured_metrics_recorder.cc
new file mode 100644
index 0000000..1e7cbda
--- /dev/null
+++ b/chrome/browser/metrics/structured/chrome_structured_metrics_recorder.cc
@@ -0,0 +1,34 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/metrics/structured/chrome_structured_metrics_recorder.h"
+
+#include <memory>
+
+#include "chrome/browser/metrics/structured/chrome_event_storage.h"
+#include "chrome/browser/metrics/structured/key_data_provider_chrome.h"
+
+class PrefRegistrySimple;
+class PrefService;
+
+namespace metrics::structured {
+
+ChromeStructuredMetricsRecorder::ChromeStructuredMetricsRecorder(
+    PrefService* local_state)
+    : StructuredMetricsRecorder(
+          std::make_unique<KeyDataProviderChrome>(local_state),
+          std::make_unique<ChromeEventStorage>()) {
+  // If KeyDataProviderChrome becomes async, then NotifyKeyReady needs to be
+  // removed and the KeyDataProvider must notify the recorder when the keys are
+  // ready.
+  key_data_provider()->NotifyKeyReady();
+}
+
+// static:
+void ChromeStructuredMetricsRecorder::RegisterLocalState(
+    PrefRegistrySimple* registry) {
+  KeyDataProviderChrome::RegisterLocalState(registry);
+}
+
+}  // namespace metrics::structured
diff --git a/chrome/browser/metrics/structured/chrome_structured_metrics_recorder.h b/chrome/browser/metrics/structured/chrome_structured_metrics_recorder.h
new file mode 100644
index 0000000..3859b9e4
--- /dev/null
+++ b/chrome/browser/metrics/structured/chrome_structured_metrics_recorder.h
@@ -0,0 +1,39 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_METRICS_STRUCTURED_CHROME_STRUCTURED_METRICS_RECORDER_H_
+#define CHROME_BROWSER_METRICS_STRUCTURED_CHROME_STRUCTURED_METRICS_RECORDER_H_
+
+#include "components/metrics/structured/structured_metrics_recorder.h"
+#include "components/prefs/pref_service.h"
+
+class PrefRegistrySimple;
+
+namespace metrics::structured {
+
+// A recorder implementation for Chrome (Windows, Linux, and Mac).
+//
+// This implementation uses KeyDataProviderChrome and ChromeEventStorage for key
+// and event handling. This recorder is fully initialized once it is created.
+//
+// This recorder only supports device events. If a profile event is recorded
+// then it will be stored in-memory and never processed until Chrome is
+// shutdown. This could cause an increase of memory consumption.
+class ChromeStructuredMetricsRecorder final : public StructuredMetricsRecorder {
+ public:
+  explicit ChromeStructuredMetricsRecorder(PrefService* local_state);
+
+  ChromeStructuredMetricsRecorder(const ChromeStructuredMetricsRecorder&) =
+      delete;
+  ChromeStructuredMetricsRecorder& operator=(
+      const ChromeStructuredMetricsRecorder&) = delete;
+
+  ~ChromeStructuredMetricsRecorder() override = default;
+
+  static void RegisterLocalState(PrefRegistrySimple* registry);
+};
+
+}  // namespace metrics::structured
+
+#endif  // CHROME_BROWSER_METRICS_STRUCTURED_CHROME_STRUCTURED_METRICS_RECORDER_H_
diff --git a/chrome/browser/metrics/structured/chrome_structured_metrics_recorder_unittest.cc b/chrome/browser/metrics/structured/chrome_structured_metrics_recorder_unittest.cc
new file mode 100644
index 0000000..e080a0d
--- /dev/null
+++ b/chrome/browser/metrics/structured/chrome_structured_metrics_recorder_unittest.cc
@@ -0,0 +1,175 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/metrics/structured/chrome_structured_metrics_recorder.h"
+
+#include "base/files/file_path.h"
+#include "base/files/file_util.h"
+#include "base/files/scoped_temp_dir.h"
+#include "base/logging.h"
+#include "base/strings/string_number_conversions.h"
+#include "base/test/metrics/histogram_tester.h"
+#include "base/test/task_environment.h"
+#include "base/threading/scoped_blocking_call.h"
+#include "components/metrics/structured/event.h"
+#include "components/metrics/structured/key_data_prefs_delegate.h"
+#include "components/metrics/structured/key_util.h"
+#include "components/metrics/structured/lib/proto/key.pb.h"
+#include "components/metrics/structured/proto/event_storage.pb.h"
+#include "components/metrics/structured/structured_events.h"
+#include "components/metrics/structured/structured_metrics_prefs.h"
+#include "components/metrics/structured/structured_metrics_validator.h"
+#include "components/prefs/testing_pref_service.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/metrics_proto/chrome_user_metrics_extension.pb.h"
+
+namespace metrics::structured {
+
+namespace {
+
+// These project, event, and metric names are used for testing.
+
+// The name hash of "TestProjectFour".
+constexpr uint64_t kProjectFourHash = 6801665881746546626ull;
+
+// The name hash of "chrome::TestProjectFour::TestEventFive".
+constexpr uint64_t kEventFiveHash = 7045523601811399253ull;
+
+// The name hash of "TestMetricFive".
+constexpr uint64_t kMetricFiveHash = 8665976921794972190ull;
+
+// The hex-encoded first 8 bytes of SHA256("ddd...d")
+constexpr char kProjectFourId[] = "FBBBB6DE2AA74C3C";
+
+std::string HashToHex(const uint64_t hash) {
+  return base::HexEncode(&hash, sizeof(uint64_t));
+}
+
+class TestRecorder : public StructuredMetricsClient::RecordingDelegate {
+ public:
+  TestRecorder() = default;
+  TestRecorder(const TestRecorder& recorder) = delete;
+  TestRecorder& operator=(const TestRecorder& recorder) = delete;
+  ~TestRecorder() override = default;
+
+  void RecordEvent(Event&& event) override {
+    Recorder::GetInstance()->RecordEvent(std::move(event));
+  }
+
+  bool IsReadyToRecord() const override { return true; }
+};
+
+}  // namespace
+
+class ChromeStructuredMetricsRecorderTest : public testing::Test {
+ public:
+  void SetUp() override {
+    Recorder::GetInstance()->SetUiTaskRunner(
+        task_environment_.GetMainThreadTaskRunner());
+    StructuredMetricsClient::Get()->SetDelegate(&test_recorder_);
+    // Move the mock date forward from day 0, because KeyData assumes that day 0
+    // is a bug.
+    task_environment_.AdvanceClock(base::Days(1000));
+
+    ChromeStructuredMetricsRecorder::RegisterLocalState(prefs_.registry());
+  }
+
+  void TearDown() override { StructuredMetricsClient::Get()->UnsetDelegate(); }
+
+  void Wait() { task_environment_.RunUntilIdle(); }
+
+  void RecordingEnabled() { recorder_->EnableRecording(); }
+
+  void CreateTestingDeviceKeys() {
+    const int today = (base::Time::Now() - base::Time::UnixEpoch()).InDays();
+
+    KeyProto key;
+    key.set_key("dddddddddddddddddddddddddddddddd");
+    key.set_last_rotation(today);
+    key.set_rotation_period(90);
+
+    base::Value::Dict dict =
+        prefs_.GetDict(prefs::kDeviceKeyDataPrefName).Clone();
+    const validator::Validators* validators = validator::Validators::Get();
+    auto project_name = validators->GetProjectName(kProjectFourHash);
+
+    dict.Set(*project_name, util::CreateValueFromKeyProto(key));
+
+    prefs_.SetDict(prefs::kDeviceKeyDataPrefName, std::move(dict));
+    Wait();
+  }
+
+  ChromeUserMetricsExtension GetUmaProto() {
+    ChromeUserMetricsExtension uma_proto;
+    recorder_->ProvideEventMetrics(uma_proto);
+    Wait();
+    return uma_proto;
+  }
+
+  StructuredDataProto GetEventMetrics() {
+    return GetUmaProto().structured_data();
+  }
+
+  void ExpectNoErrors() {
+    histogram_tester_.ExpectTotalCount("UMA.StructuredMetrics.InternalError",
+                                       0);
+  }
+
+  void CreateAndEnableRecorder() {
+    recorder_ = std::make_unique<ChromeStructuredMetricsRecorder>(&prefs_);
+    RecordingEnabled();
+    ExpectNoErrors();
+  }
+
+ protected:
+  std::unique_ptr<ChromeStructuredMetricsRecorder> recorder_;
+  base::test::TaskEnvironment task_environment_{
+      base::test::TaskEnvironment::MainThreadType::UI,
+      base::test::TaskEnvironment::ThreadPoolExecutionMode::QUEUED,
+      base::test::TaskEnvironment::TimeSource::MOCK_TIME};
+  base::HistogramTester histogram_tester_;
+  TestingPrefServiceSimple prefs_;
+  base::ScopedTempDir temp_dir_;
+
+ private:
+  TestRecorder test_recorder_;
+
+  base::FilePath storage_path_;
+};
+
+TEST_F(ChromeStructuredMetricsRecorderTest, DeviceEventsRecorded) {
+  CreateTestingDeviceKeys();
+  CreateAndEnableRecorder();
+
+  Wait();
+
+  // This event's project has device scope set, so should use the per-device
+  // keys set by WriteTestingDeviceKeys. In this case the expected key is
+  // "ddd...d", which we observe by checking the ID and HMAC have the correct
+  // value given that key.
+  events::v2::test_project_four::TestEventFive()
+      .SetTestMetricFive("value")
+      .Record();
+
+  const auto data = GetEventMetrics();
+  ASSERT_EQ(data.events_size(), 1);
+
+  const auto& event = data.events(0);
+  EXPECT_EQ(event.event_name_hash(), kEventFiveHash);
+  EXPECT_EQ(event.project_name_hash(), kProjectFourHash);
+  // The hex-encoded first 8 bytes of SHA256("ddd...d").
+  EXPECT_EQ(HashToHex(event.profile_event_id()), kProjectFourId);
+  ASSERT_EQ(event.metrics_size(), 1);
+
+  const auto& metric = event.metrics(0);
+  EXPECT_EQ(metric.name_hash(), kMetricFiveHash);
+  EXPECT_EQ(HashToHex(metric.value_hmac()),
+            // Value of HMAC_256("ddd...d", concat(hex(kMetricFiveHash),
+            // "value"))
+            "4CC202FAA78FDC7A");
+
+  ExpectNoErrors();
+}
+
+}  // namespace metrics::structured
diff --git a/chrome/browser/metrics/structured/key_data_provider_chrome.cc b/chrome/browser/metrics/structured/key_data_provider_chrome.cc
new file mode 100644
index 0000000..a750225
--- /dev/null
+++ b/chrome/browser/metrics/structured/key_data_provider_chrome.cc
@@ -0,0 +1,46 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/metrics/structured/key_data_provider_chrome.h"
+
+#include <optional>
+
+#include "components/metrics/structured/structured_metrics_prefs.h"
+#include "components/prefs/pref_registry_simple.h"
+#include "components/prefs/pref_service.h"
+
+namespace metrics::structured {
+
+KeyDataProviderChrome::KeyDataProviderChrome(PrefService* local_state)
+    : device_key_(local_state, prefs::kDeviceKeyDataPrefName) {}
+
+KeyDataProviderChrome::~KeyDataProviderChrome() = default;
+
+bool KeyDataProviderChrome::IsReady() {
+  return device_key_.IsReady();
+}
+
+void KeyDataProviderChrome::OnProfileAdded(const base::FilePath& profile_path) {
+  // Key data providers don't need to do anything with the profile, yet.
+}
+
+std::optional<uint64_t> KeyDataProviderChrome::GetId(
+    const std::string& project_name) {
+  return device_key_.GetId(project_name);
+}
+
+KeyData* KeyDataProviderChrome::GetKeyData(const std::string& project_name) {
+  return device_key_.GetKeyData(project_name);
+}
+
+void KeyDataProviderChrome::Purge() {
+  device_key_.Purge();
+}
+
+// static:
+void KeyDataProviderChrome::RegisterLocalState(PrefRegistrySimple* registry) {
+  registry->RegisterDictionaryPref(prefs::kDeviceKeyDataPrefName);
+}
+
+}  // namespace metrics::structured
diff --git a/chrome/browser/metrics/structured/key_data_provider_chrome.h b/chrome/browser/metrics/structured/key_data_provider_chrome.h
new file mode 100644
index 0000000..392c635
--- /dev/null
+++ b/chrome/browser/metrics/structured/key_data_provider_chrome.h
@@ -0,0 +1,51 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_METRICS_STRUCTURED_KEY_DATA_PROVIDER_CHROME_H_
+#define CHROME_BROWSER_METRICS_STRUCTURED_KEY_DATA_PROVIDER_CHROME_H_
+
+#include <string>
+
+#include "components/metrics/structured/key_data_provider.h"
+#include "components/metrics/structured/key_data_provider_prefs.h"
+#include "components/metrics/structured/lib/proto/key.pb.h"
+
+class PrefRegistrySimple;
+class PrefService;
+
+namespace base {
+class FilePath;
+}
+
+namespace metrics::structured {
+
+// Implementation of KeyDataProvider for Chrome platforms.
+//
+// Currently, only device keys are supported due to the current use case only
+// needing device id's.
+class KeyDataProviderChrome : public KeyDataProvider {
+ public:
+  explicit KeyDataProviderChrome(PrefService* local_state);
+
+  KeyDataProviderChrome(const KeyDataProviderChrome&) = delete;
+  KeyDataProviderChrome& operator=(const KeyDataProviderChrome&) = delete;
+
+  ~KeyDataProviderChrome() override;
+
+  // KeyDataProvider:
+  bool IsReady() override;
+  void OnProfileAdded(const base::FilePath& profile_path) override;
+  std::optional<uint64_t> GetId(const std::string& project_name) override;
+  KeyData* GetKeyData(const std::string& project_name) override;
+  void Purge() override;
+
+  static void RegisterLocalState(PrefRegistrySimple* registry);
+
+ private:
+  KeyDataProviderPrefs device_key_;
+};
+
+}  // namespace metrics::structured
+
+#endif  // CHROME_BROWSER_METRICS_STRUCTURED_KEY_DATA_PROVIDER_CHROME_H_
diff --git a/chrome/browser/net/cert_verifier_service_browsertest.cc b/chrome/browser/net/cert_verifier_service_browsertest.cc
index 48cc02e..cb2d423 100644
--- a/chrome/browser/net/cert_verifier_service_browsertest.cc
+++ b/chrome/browser/net/cert_verifier_service_browsertest.cc
@@ -29,6 +29,13 @@
 #include "services/cert_verifier/public/mojom/cert_verifier_service_factory.mojom.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
+#if BUILDFLAG(IS_LINUX)
+#include "crypto/scoped_test_nss_db.h"
+#include "net/cert/nss_cert_database.h"
+#include "net/cert/scoped_nss_types.h"
+#include "net/cert/x509_util_nss.h"
+#endif
+
 #if BUILDFLAG(IS_ANDROID)
 #include "chrome/test/base/android/android_browser_test.h"
 #else
@@ -230,6 +237,86 @@
                          CertVerifierServiceCAHintCertificatesPolicyTest,
                          ::testing::Bool());
 
+#if BUILDFLAG(IS_LINUX)
+// Test the CAPlatformIntegrationEnabled policy.
+//
+// Ideally we'd have this set up for every platform where this policy is
+// supported, but on most platforms its really hard to modify the OS root
+// store in an integration test without possibly messing up other tests.
+// Except on Linux.
+class CertVerifierServiceCAPlatformIntegrationPolicyTest
+    : public policy::PolicyTest,
+      public testing::WithParamInterface<bool> {
+ public:
+  void SetUpOnMainThread() override {
+    policy::PolicyTest::SetUpOnMainThread();
+
+    // Set up test NSS DB
+    nss_db_ = std::make_unique<crypto::ScopedTestNSSDB>();
+    cert_db_ = std::make_unique<net::NSSCertDatabase>(
+        crypto::ScopedPK11Slot(PK11_ReferenceSlot(nss_db_->slot())),
+        crypto::ScopedPK11Slot(PK11_ReferenceSlot(nss_db_->slot())));
+    ASSERT_TRUE(nss_db_->is_open());
+
+    // Add root cert to test NSS DB.
+    scoped_refptr<net::X509Certificate> root_cert =
+        net::ImportCertFromFile(net::EmbeddedTestServer::GetRootCertPemPath());
+    ASSERT_TRUE(root_cert);
+    net::ScopedCERTCertificateList nss_certs;
+    net::ScopedCERTCertificate nss_cert =
+        net::x509_util::CreateCERTCertificateFromX509Certificate(
+            root_cert.get());
+    ASSERT_TRUE(nss_cert);
+    nss_certs.push_back(std::move(nss_cert));
+
+    net::NSSCertDatabase::ImportCertFailureList failure_list;
+    cert_db_->ImportCACerts(nss_certs,
+                            /*trust_bits=*/net::NSSCertDatabase::TRUSTED_SSL,
+                            &failure_list);
+    ASSERT_TRUE(failure_list.empty());
+  }
+
+  void SetUpInProcessBrowserTestFixture() override {
+    policy::PolicyTest::SetUpInProcessBrowserTestFixture();
+    policy::PolicyMap policies;
+    SetPolicy(&policies, policy::key::kCAPlatformIntegrationEnabled,
+              absl::optional<base::Value>(platform_root_store_enabled()));
+    UpdateProviderPolicy(policies);
+  }
+
+  bool platform_root_store_enabled() const { return GetParam(); }
+
+ private:
+  std::unique_ptr<crypto::ScopedTestNSSDB> nss_db_;
+  std::unique_ptr<net::NSSCertDatabase> cert_db_;
+};
+
+IN_PROC_BROWSER_TEST_P(CertVerifierServiceCAPlatformIntegrationPolicyTest,
+                       TestCAPlatformIntegrationPolicy) {
+  net::EmbeddedTestServer https_test_server(
+      net::EmbeddedTestServer::TYPE_HTTPS);
+  https_test_server.SetSSLConfig(
+      net::test_server::EmbeddedTestServer::CERT_AUTO);
+  https_test_server.ServeFilesFromSourceDirectory("chrome/test/data");
+  ASSERT_TRUE(https_test_server.Start());
+
+  // `net::EmbeddedTestServer` uses `net::TestRootCerts` to install a trusted
+  // root.
+  // Clear test roots so that cert validation only happens with
+  // what's in the relevant root store + policies.
+  net::TestRootCerts::GetInstance()->Clear();
+
+  ASSERT_TRUE(NavigateToUrl(https_test_server.GetURL("/simple.html"), this));
+  EXPECT_NE(platform_root_store_enabled(),
+            chrome_browser_interstitials::IsShowingInterstitial(
+                chrome_test_utils::GetActiveWebContents(this)));
+}
+
+INSTANTIATE_TEST_SUITE_P(All,
+                         CertVerifierServiceCAPlatformIntegrationPolicyTest,
+                         ::testing::Bool());
+#endif  // BUILDFLAG(IS_LINUX)
+
 #endif  // BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
 
 #if BUILDFLAG(CHROME_ROOT_STORE_OPTIONAL)
diff --git a/chrome/browser/net/profile_network_context_service.cc b/chrome/browser/net/profile_network_context_service.cc
index 097f12f..62d5460 100644
--- a/chrome/browser/net/profile_network_context_service.cc
+++ b/chrome/browser/net/profile_network_context_service.cc
@@ -302,21 +302,17 @@
 #if BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
   // When any of the following Certificate preferences change, we schedule an
   // update to aggregate the actual update using a |cert_policy_update_timer_|.
-  pref_change_registrar_.Add(
-      prefs::kCACertificates,
-      base::BindRepeating(
-          &ProfileNetworkContextService::ScheduleUpdateCertificatePolicy,
-          base::Unretained(this)));
-  pref_change_registrar_.Add(
-      prefs::kCADistrustedCertificates,
-      base::BindRepeating(
-          &ProfileNetworkContextService::ScheduleUpdateCertificatePolicy,
-          base::Unretained(this)));
-  pref_change_registrar_.Add(
-      prefs::kCAHintCertificates,
-      base::BindRepeating(
-          &ProfileNetworkContextService::ScheduleUpdateCertificatePolicy,
-          base::Unretained(this)));
+  base::RepeatingClosure schedule_update_cert_policy = base::BindRepeating(
+      &ProfileNetworkContextService::ScheduleUpdateCertificatePolicy,
+      base::Unretained(this));
+  pref_change_registrar_.Add(prefs::kCACertificates,
+                             schedule_update_cert_policy);
+  pref_change_registrar_.Add(prefs::kCADistrustedCertificates,
+                             schedule_update_cert_policy);
+  pref_change_registrar_.Add(prefs::kCAHintCertificates,
+                             schedule_update_cert_policy);
+  pref_change_registrar_.Add(prefs::kCAPlatformIntegrationEnabled,
+                             schedule_update_cert_policy);
 #endif
 
   pref_change_registrar_.Add(
@@ -392,6 +388,8 @@
   registry->RegisterListPref(prefs::kCACertificates);
   registry->RegisterListPref(prefs::kCADistrustedCertificates);
   registry->RegisterListPref(prefs::kCAHintCertificates);
+  // Include user added platform certs by default.
+  registry->RegisterBooleanPref(prefs::kCAPlatformIntegrationEnabled, true);
 #endif
 }
 
@@ -586,11 +584,14 @@
     }
   }
 
+  bool include_system_trust_store =
+      prefs->GetBoolean(prefs::kCAPlatformIntegrationEnabled);
+
   return cert_verifier::mojom::AdditionalCertificates::New(
       std::move(additional_untrusted_certificates),
       std::move(additional_trust_anchors),
       std::move(additional_trust_anchors_enforced_constraints),
-      std::move(additional_distrusted_spkis));
+      std::move(additional_distrusted_spkis), include_system_trust_store);
 }
 
 void ProfileNetworkContextService::UpdateCertificatePolicy() {
diff --git a/chrome/browser/permissions/one_time_permissions_tracker.cc b/chrome/browser/permissions/one_time_permissions_tracker.cc
index bdfeee2..aea9c18 100644
--- a/chrome/browser/permissions/one_time_permissions_tracker.cc
+++ b/chrome/browser/permissions/one_time_permissions_tracker.cc
@@ -104,7 +104,9 @@
     origin_tracker_[origin].undiscarded_tab_counter--;
     DCHECK(!(origin_tracker_[origin].undiscarded_tab_counter < 0));
     if (origin_tracker_[origin].undiscarded_tab_counter == 0) {
-      NotifyLastPageFromOriginClosed(origin);
+      for (auto& observer : observer_list_) {
+        observer.OnLastPageFromOriginClosed(origin);
+      }
     }
   }
 }
@@ -253,13 +255,6 @@
   }
 }
 
-void OneTimePermissionsTracker::NotifyLastPageFromOriginClosed(
-    const url::Origin& origin) {
-  for (auto& observer : observer_list_) {
-    observer.OnLastPageFromOriginClosed(origin);
-  }
-}
-
 bool OneTimePermissionsTracker::ShouldIgnoreOrigin(const url::Origin& origin) {
   // There are cases where chrome://newtab/ and chrome://new-tab-page/ are
   // used synonymously causing inconsistencies in the map. So we just ignore
diff --git a/chrome/browser/permissions/one_time_permissions_tracker.h b/chrome/browser/permissions/one_time_permissions_tracker.h
index 73d5b34..0a4c059 100644
--- a/chrome/browser/permissions/one_time_permissions_tracker.h
+++ b/chrome/browser/permissions/one_time_permissions_tracker.h
@@ -72,9 +72,6 @@
   // Fires all running timers for testing purposes.
   void FireRunningTimersForTesting();
 
- protected:
-  void NotifyLastPageFromOriginClosed(const url::Origin& origin);
-
  private:
   // Struct to hold the state of an origin
   struct OriginTrackEntry {
diff --git a/chrome/browser/policy/configuration_policy_handler_list_factory.cc b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
index 2acc75a3..6887153 100644
--- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc
+++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc
@@ -48,7 +48,7 @@
 #include "chrome/browser/spellchecker/spellcheck_language_policy_handler.h"
 #include "chrome/browser/ssl/secure_origin_policy_handler.h"
 #include "chrome/browser/themes/theme_color_policy_handler.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
 #include "chrome/browser/webauthn/webauthn_pref_names.h"
 #include "chrome/common/buildflags.h"
 #include "chrome/common/channel_info.h"
@@ -2076,6 +2076,9 @@
   { key::kCAHintCertificates,
     prefs::kCAHintCertificates,
     base::Value::Type::LIST },
+  { key::kCAPlatformIntegrationEnabled,
+    prefs::kCAPlatformIntegrationEnabled,
+    base::Value::Type::BOOLEAN },
 #endif // BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
 };
 // clang-format on
diff --git a/chrome/browser/policy/test/cast_policy_browsertest.cc b/chrome/browser/policy/test/cast_policy_browsertest.cc
index aa78fb7..a5aba68 100644
--- a/chrome/browser/policy/test/cast_policy_browsertest.cc
+++ b/chrome/browser/policy/test/cast_policy_browsertest.cc
@@ -7,7 +7,7 @@
 #include "chrome/browser/media/router/media_router_feature.h"
 #include "chrome/browser/policy/policy_test_utils.h"
 #include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
 #include "components/media_router/common/pref_names.h"
 #include "components/policy/core/common/policy_map.h"
 #include "components/policy/policy_constants.h"
diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc
index 98f6345..94a93ca5 100644
--- a/chrome/browser/prefs/browser_prefs.cc
+++ b/chrome/browser/prefs/browser_prefs.cc
@@ -85,7 +85,7 @@
 #include "chrome/browser/ui/side_panel/side_panel_prefs.h"
 #include "chrome/browser/ui/tabs/organization/prefs.h"
 #include "chrome/browser/ui/tabs/pinned_tab_codec.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
 #include "chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.h"
 #include "chrome/browser/ui/toolbar/toolbar_pref_names.h"
 #include "chrome/browser/ui/webui/bookmarks/bookmark_prefs.h"
diff --git a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
index f09ceb8..4366a62 100644
--- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
+++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc
@@ -309,7 +309,6 @@
 #include "chrome/browser/chromeos/policy/dlp/dlp_rules_manager_factory.h"
 #include "chrome/browser/policy/networking/policy_cert_service_factory.h"
 #include "chrome/browser/policy/networking/user_network_configuration_updater_factory.h"
-#include "chrome/browser/smart_card/smart_card_permission_context_factory.h"
 #include "chromeos/constants/chromeos_features.h"
 #endif
 
@@ -1170,9 +1169,6 @@
   if (site_engagement::SiteEngagementService::IsEnabled()) {
     site_engagement::SiteEngagementServiceFactory::GetInstance();
   }
-#if BUILDFLAG(IS_CHROMEOS)
-  SmartCardPermissionContextFactory::GetInstance();
-#endif
 #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_LACROS)
   SpeechRecognitionClientBrowserInterfaceFactory::EnsureFactoryBuilt();
 #endif
diff --git a/chrome/browser/push_notification/BUILD.gn b/chrome/browser/push_notification/BUILD.gn
index db687e4c..4389ff1 100644
--- a/chrome/browser/push_notification/BUILD.gn
+++ b/chrome/browser/push_notification/BUILD.gn
@@ -8,6 +8,10 @@
     "prefs/push_notification_prefs.h",
     "push_notification_service_desktop_impl.cc",
     "push_notification_service_desktop_impl.h",
+    "server_client/push_notification_desktop_api_call_flow.cc",
+    "server_client/push_notification_desktop_api_call_flow.h",
+    "server_client/push_notification_desktop_api_call_flow_impl.cc",
+    "server_client/push_notification_desktop_api_call_flow_impl.h",
   ]
 
   deps = [
@@ -20,11 +24,15 @@
     "//components/push_notification",
     "//components/user_manager:user_manager",
     "//content/public/browser:browser",
+    "//google_apis:google_apis",
   ]
 }
 source_set("unit_tests") {
   testonly = true
-  sources = [ "push_notification_service_desktop_impl_unittest.cc" ]
+  sources = [
+    "push_notification_service_desktop_impl_unittest.cc",
+    "server_client/push_notification_desktop_api_call_flow_impl_unittest.cc",
+  ]
   deps = [
     "//base",
     "//base/test:test_support",
diff --git a/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow.cc b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow.cc
new file mode 100644
index 0000000..64edbd4dc
--- /dev/null
+++ b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow.cc
@@ -0,0 +1,73 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow.h"
+
+namespace push_notification {
+
+PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError
+PushNotificationDesktopApiCallFlow::GetErrorForHttpResponseCode(
+    int response_code) {
+  if (response_code == 400) {
+    return PushNotificationDesktopApiCallFlow::
+        PushNotificationApiCallFlowError::kBadRequest;
+  }
+
+  if (response_code == 403) {
+    return PushNotificationDesktopApiCallFlow::
+        PushNotificationApiCallFlowError::kAuthenticationError;
+  }
+
+  if (response_code == 404) {
+    return PushNotificationDesktopApiCallFlow::
+        PushNotificationApiCallFlowError::kEndpointNotFound;
+  }
+
+  if (response_code >= 500 && response_code < 600) {
+    return PushNotificationDesktopApiCallFlow::
+        PushNotificationApiCallFlowError::kInternalServerError;
+  }
+
+  return PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError::
+      kUnknown;
+}
+
+std::ostream& operator<<(
+    std::ostream& stream,
+    const PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError&
+        error) {
+  switch (error) {
+    case PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError::
+        kOffline:
+      stream << "[offline]";
+      break;
+    case PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError::
+        kEndpointNotFound:
+      stream << "[endpoint not found]";
+      break;
+    case PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError::
+        kAuthenticationError:
+      stream << "[authentication error]";
+      break;
+    case PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError::
+        kBadRequest:
+      stream << "[bad request]";
+      break;
+    case PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError::
+        kResponseMalformed:
+      stream << "[response malformed]";
+      break;
+    case PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError::
+        kInternalServerError:
+      stream << "[internal server error]";
+      break;
+    case PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError::
+        kUnknown:
+      stream << "[unknown]";
+      break;
+  }
+  return stream;
+}
+
+}  // namespace push_notification
diff --git a/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow.h b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow.h
new file mode 100644
index 0000000..a803ecb
--- /dev/null
+++ b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow.h
@@ -0,0 +1,122 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_PUSH_NOTIFICATION_SERVER_CLIENT_PUSH_NOTIFICATION_DESKTOP_API_CALL_FLOW_H_
+#define CHROME_BROWSER_PUSH_NOTIFICATION_SERVER_CLIENT_PUSH_NOTIFICATION_DESKTOP_API_CALL_FLOW_H_
+
+#include <ostream>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "base/functional/callback.h"
+#include "base/memory/scoped_refptr.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "url/gurl.h"
+
+namespace push_notification {
+
+// |PushNotificationDesktopApiCallFlow| is owned by a
+// |PushNotificationServerClient| which shall only process a single request at a
+// time. Therefore a new instance is require for each request. DO NOT REUSE.
+class PushNotificationDesktopApiCallFlow {
+ public:
+  enum class PushNotificationApiCallFlowError {
+    // Request could not be completed because the device is offline or has
+    // issues
+    // sending the HTTP request.
+    kOffline,
+
+    // Server endpoint could not be found.
+    kEndpointNotFound,
+
+    // Authentication error contacting back-end.
+    kAuthenticationError,
+
+    // Request was invalid.
+    kBadRequest,
+
+    // The server responded, but the response was not formatted correctly.
+    kResponseMalformed,
+
+    // Internal server error.
+    kInternalServerError,
+
+    // Unknown result.
+    kUnknown
+  };
+
+  PushNotificationApiCallFlowError GetErrorForHttpResponseCode(
+      int response_code);
+
+  using ResultCallback =
+      base::OnceCallback<void(const std::string& serialized_response)>;
+  using ErrorCallback =
+      base::OnceCallback<void(PushNotificationApiCallFlowError error)>;
+  using QueryParameters = std::vector<std::pair<std::string, std::string>>;
+
+  PushNotificationDesktopApiCallFlow() = default;
+  virtual ~PushNotificationDesktopApiCallFlow() = default;
+
+  // Starts the API POST request call.
+  //   |request_url|: The URL endpoint of the API request.
+  //   |serialized_request|: A serialized proto containing the request data.
+  //   |access_token|: The access token for whom to make the request.
+  //   |result_callback|: Called when the flow completes successfully
+  //                      with a serialized response proto.
+  //   |error_callback|: Called when the flow completes with an error.
+  virtual void StartPostRequest(
+      const GURL& request_url,
+      const std::string& serialized_request,
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      const std::string& access_token,
+      ResultCallback&& result_callback,
+      ErrorCallback&& error_callback) = 0;
+
+  // Starts the API PATCH request call.
+  //   |request_url|: The URL endpoint of the API request.
+  //   |serialized_request|: A serialized proto containing the request data.
+  //   |access_token|: The access token for whom to make the request.
+  //   |result_callback|: Called when the flow completes successfully
+  //                      with a serialized response proto.
+  //   |error_callback|: Called when the flow completes with an error.
+  virtual void StartPatchRequest(
+      const GURL& request_url,
+      const std::string& serialized_request,
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      const std::string& access_token,
+      ResultCallback&& result_callback,
+      ErrorCallback&& error_callback) = 0;
+
+  // Starts the API GET request call.
+  //   |request_url|: The URL endpoint of the API request.
+  //   |request_as_query_parameters|: The request proto represented as key-value
+  //                                  pairs to be sent as query parameters.
+  //                                  Note: A key can have multiple values.
+  //   |access_token|: The access token for whom to make the request.
+  //   |result_callback|: Called when the flow completes successfully
+  //                      with a serialized response proto.
+  //   |error_callback|: Called when the flow completes with an error.
+  virtual void StartGetRequest(
+      const GURL& request_url,
+      const QueryParameters& request_as_query_parameters,
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      const std::string& access_token,
+      ResultCallback&& result_callback,
+      ErrorCallback&& error_callback) = 0;
+
+  virtual void SetPartialNetworkTrafficAnnotation(
+      const net::PartialNetworkTrafficAnnotationTag&
+          partial_traffic_annotation) = 0;
+};
+
+std::ostream& operator<<(
+    std::ostream& stream,
+    const PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError&
+        error);
+
+}  // namespace push_notification
+
+#endif  // CHROME_BROWSER_PUSH_NOTIFICATION_SERVER_CLIENT_PUSH_NOTIFICATION_DESKTOP_API_CALL_FLOW_H_
diff --git a/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl.cc b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl.cc
new file mode 100644
index 0000000..05e8362
--- /dev/null
+++ b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl.cc
@@ -0,0 +1,163 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl.h"
+
+#include "base/logging.h"
+#include "base/strings/string_number_conversions.h"
+#include "net/base/net_errors.h"
+#include "net/base/url_util.h"
+#include "net/traffic_annotation/network_traffic_annotation.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "services/network/public/mojom/url_response_head.mojom.h"
+
+namespace {
+
+const char kGet[] = "GET";
+const char kPatch[] = "PATCH";
+const char kPost[] = "POST";
+const char kProtobufContentType[] = "application/x-protobuf";
+const char kQueryParameterAlternateOutputKey[] = "alt";
+const char kQueryParameterAlternateOutputProto[] = "proto";
+
+}  // namespace
+
+namespace push_notification {
+
+PushNotificationDesktopApiCallFlowImpl::
+    PushNotificationDesktopApiCallFlowImpl() = default;
+PushNotificationDesktopApiCallFlowImpl::
+    ~PushNotificationDesktopApiCallFlowImpl() = default;
+
+void PushNotificationDesktopApiCallFlowImpl::StartPostRequest(
+    const GURL& request_url,
+    const std::string& serialized_request,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+    const std::string& access_token,
+    ResultCallback&& result_callback,
+    ErrorCallback&& error_callback) {
+  request_url_ = request_url;
+  request_http_method_ = kPost;
+  serialized_request_ = serialized_request;
+  result_callback_ = std::move(result_callback);
+  error_callback_ = std::move(error_callback);
+  OAuth2ApiCallFlow::Start(std::move(url_loader_factory), access_token);
+}
+
+void PushNotificationDesktopApiCallFlowImpl::StartPatchRequest(
+    const GURL& request_url,
+    const std::string& serialized_request,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+    const std::string& access_token,
+    ResultCallback&& result_callback,
+    ErrorCallback&& error_callback) {
+  request_url_ = request_url;
+  request_http_method_ = kPatch;
+  serialized_request_ = serialized_request;
+  result_callback_ = std::move(result_callback);
+  error_callback_ = std::move(error_callback);
+  OAuth2ApiCallFlow::Start(std::move(url_loader_factory), access_token);
+}
+
+void PushNotificationDesktopApiCallFlowImpl::StartGetRequest(
+    const GURL& request_url,
+    const QueryParameters& request_as_query_parameters,
+    scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+    const std::string& access_token,
+    ResultCallback&& result_callback,
+    ErrorCallback&& error_callback) {
+  request_url_ = request_url;
+  request_http_method_ = kGet;
+  request_as_query_parameters_ = request_as_query_parameters;
+  result_callback_ = std::move(result_callback);
+  error_callback_ = std::move(error_callback);
+  OAuth2ApiCallFlow::Start(std::move(url_loader_factory), access_token);
+}
+
+void PushNotificationDesktopApiCallFlowImpl::SetPartialNetworkTrafficAnnotation(
+    const net::PartialNetworkTrafficAnnotationTag& partial_traffic_annotation) {
+  partial_network_annotation_ =
+      std::make_unique<net::PartialNetworkTrafficAnnotationTag>(
+          partial_traffic_annotation);
+}
+
+GURL PushNotificationDesktopApiCallFlowImpl::CreateApiCallUrl() {
+  // Specifies that the server's response body should be formatted as a
+  // serialized proto.
+  request_url_ =
+      net::AppendQueryParameter(request_url_, kQueryParameterAlternateOutputKey,
+                                kQueryParameterAlternateOutputProto);
+
+  // GET requests encode the request proto as query parameters.
+  if (request_as_query_parameters_) {
+    for (const auto& key_value_pair : *request_as_query_parameters_) {
+      request_url_ = net::AppendQueryParameter(
+          request_url_, key_value_pair.first, key_value_pair.second);
+    }
+  }
+
+  return request_url_;
+}
+
+std::string PushNotificationDesktopApiCallFlowImpl::CreateApiCallBody() {
+  return serialized_request_.value_or(std::string());
+}
+
+std::string
+PushNotificationDesktopApiCallFlowImpl::CreateApiCallBodyContentType() {
+  return serialized_request_ ? kProtobufContentType : std::string();
+}
+
+// Note: Unlike OAuth2ApiCallFlow, we do *not* determine the request type
+// based on whether or not the body is empty.
+std::string PushNotificationDesktopApiCallFlowImpl::GetRequestTypeForBody(
+    const std::string& body) {
+  CHECK(!request_http_method_.empty());
+  return request_http_method_;
+}
+
+void PushNotificationDesktopApiCallFlowImpl::ProcessApiCallSuccess(
+    const network::mojom::URLResponseHead* head,
+    std::unique_ptr<std::string> body) {
+  if (!body) {
+    CHECK(error_callback_);
+    std::move(error_callback_)
+        .Run(PushNotificationApiCallFlowError::kResponseMalformed);
+    return;
+  }
+  CHECK(result_callback_);
+  std::move(result_callback_).Run(std::move(*body));
+}
+
+void PushNotificationDesktopApiCallFlowImpl::ProcessApiCallFailure(
+    int net_error,
+    const network::mojom::URLResponseHead* head,
+    std::unique_ptr<std::string> body) {
+  absl::optional<PushNotificationApiCallFlowError> error;
+  std::string error_message;
+  if (net_error == net::OK) {
+    int response_code = -1;
+    if (head && head->headers) {
+      response_code = head->headers->response_code();
+    }
+    error = GetErrorForHttpResponseCode(response_code);
+  } else {
+    error = PushNotificationApiCallFlowError::kOffline;
+  }
+
+  LOG(ERROR) << "API call failed, error code: "
+             << net::ErrorToString(net_error);
+  if (body) {
+    VLOG(1) << "API failure response body: " << *body;
+  }
+
+  std::move(error_callback_).Run(*error);
+}
+net::PartialNetworkTrafficAnnotationTag
+PushNotificationDesktopApiCallFlowImpl::GetNetworkTrafficAnnotationTag() {
+  CHECK(partial_network_annotation_);
+  return *partial_network_annotation_;
+}
+
+}  // namespace push_notification
diff --git a/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl.h b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl.h
new file mode 100644
index 0000000..333cd65
--- /dev/null
+++ b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl.h
@@ -0,0 +1,112 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_PUSH_NOTIFICATION_SERVER_CLIENT_PUSH_NOTIFICATION_DESKTOP_API_CALL_FLOW_IMPL_H_
+#define CHROME_BROWSER_PUSH_NOTIFICATION_SERVER_CLIENT_PUSH_NOTIFICATION_DESKTOP_API_CALL_FLOW_IMPL_H_
+
+#include <memory>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow.h"
+#include "google_apis/gaia/oauth2_api_call_flow.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
+
+namespace push_notification {
+
+// PushNotificationDesktopApiCallFlowImpl is a wrapper around OAuth2ApiCallFlow
+// that provides convenience methods StartGetRequest, StartPostRequest,
+// and StartPatchRequest.
+// We assume the following:
+//   * A POST or PATCH request's body is the serialized request proto,
+//   * A GET request encodes the request proto as query parameters and has no
+//     body,
+//   * The response body is the serialized response proto.
+class PushNotificationDesktopApiCallFlowImpl
+    : public PushNotificationDesktopApiCallFlow,
+      public OAuth2ApiCallFlow {
+ public:
+  PushNotificationDesktopApiCallFlowImpl();
+  ~PushNotificationDesktopApiCallFlowImpl() override;
+
+  PushNotificationDesktopApiCallFlowImpl(
+      const PushNotificationDesktopApiCallFlowImpl&) = delete;
+  PushNotificationDesktopApiCallFlowImpl& operator=(
+      const PushNotificationDesktopApiCallFlowImpl&) = delete;
+
+  // PushNotificationDesktopApiCallFlow:
+  void StartPostRequest(
+      const GURL& request_url,
+      const std::string& serialized_request,
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      const std::string& access_token,
+      ResultCallback&& result_callback,
+      ErrorCallback&& error_callback) override;
+  void StartPatchRequest(
+      const GURL& request_url,
+      const std::string& serialized_request,
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      const std::string& access_token,
+      ResultCallback&& result_callback,
+      ErrorCallback&& error_callback) override;
+  void StartGetRequest(
+      const GURL& request_url,
+      const QueryParameters& request_as_query_parameters,
+      scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
+      const std::string& access_token,
+      ResultCallback&& result_callback,
+      ErrorCallback&& error_callback) override;
+  void SetPartialNetworkTrafficAnnotation(
+      const net::PartialNetworkTrafficAnnotationTag& partial_traffic_annotation)
+      override;
+
+ protected:
+  // Reduce the visibility of OAuth2ApiCallFlow::Start() to avoid exposing
+  // overloaded methods.
+  using OAuth2ApiCallFlow::Start;
+
+  // OAuth2ApiCallFlow:
+  GURL CreateApiCallUrl() override;
+  std::string CreateApiCallBody() override;
+  std::string CreateApiCallBodyContentType() override;
+  std::string GetRequestTypeForBody(const std::string& body) override;
+  void ProcessApiCallSuccess(const network::mojom::URLResponseHead* head,
+                             std::unique_ptr<std::string> body) override;
+  void ProcessApiCallFailure(int net_error,
+                             const network::mojom::URLResponseHead* head,
+                             std::unique_ptr<std::string> body) override;
+  net::PartialNetworkTrafficAnnotationTag GetNetworkTrafficAnnotationTag()
+      override;
+
+ private:
+  // The URL of the endpoint serving the request.
+  GURL request_url_;
+
+  // The HTTP method to use.
+  std::string request_http_method_;
+
+  // Serialized request message proto that will be sent in the request body.
+  // Null if request is GET.
+  absl::optional<std::string> serialized_request_;
+
+  // The request message proto represented as key-value pairs that will be sent
+  // as query parameters in the API GET request. Note: A key can have multiple
+  // values. Null if HTTP method is not GET.
+  absl::optional<QueryParameters> request_as_query_parameters_;
+
+  // Callback invoked with the serialized response message proto when the flow
+  // completes successfully.
+  ResultCallback result_callback_;
+
+  // Callback invoked with an error message when the flow fails.
+  ErrorCallback error_callback_;
+
+  std::unique_ptr<net::PartialNetworkTrafficAnnotationTag>
+      partial_network_annotation_;
+};
+
+}  // namespace push_notification
+
+#endif  // CHROME_BROWSER_PUSH_NOTIFICATION_SERVER_CLIENT_PUSH_NOTIFICATION_DESKTOP_API_CALL_FLOW_IMPL_H_
diff --git a/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl_unittest.cc b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl_unittest.cc
new file mode 100644
index 0000000..90e41eea
--- /dev/null
+++ b/chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl_unittest.cc
@@ -0,0 +1,418 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl.h"
+
+#include <memory>
+#include <string>
+#include <utility>
+#include <vector>
+
+#include "base/functional/bind.h"
+#include "base/test/task_environment.h"
+#include "net/base/net_errors.h"
+#include "net/base/url_util.h"
+#include "net/traffic_annotation/network_traffic_annotation_test_helper.h"
+#include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h"
+#include "services/network/test/test_url_loader_factory.h"
+#include "services/network/test/test_utils.h"
+#include "testing/gtest/include/gtest/gtest.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
+
+namespace {
+
+const char kSerializedRequestProto[] = "serialized_request_proto";
+const char kSerializedResponseProto[] = "result_proto";
+const char kRequestUrl[] = "https://googleapis.com/push_notification/test";
+const char kAccessToken[] = "access_token";
+const char kQueryParameterAlternateOutputKey[] = "alt";
+const char kQueryParameterAlternateOutputProto[] = "proto";
+const char kGet[] = "GET";
+const char kPost[] = "POST";
+const char kPatch[] = "PATCH";
+
+const push_notification::PushNotificationDesktopApiCallFlow::QueryParameters&
+GetTestRequestProtoAsQueryParameters() {
+  static const base::NoDestructor<
+      push_notification::PushNotificationDesktopApiCallFlow::QueryParameters>
+      request_as_query_parameters(
+          {{"field1", "value1a"}, {"field1", "value1b"}, {"field2", "value2"}});
+  return *request_as_query_parameters;
+}
+
+// Adds the "alt=proto" query parameters which specifies that the response
+// should be formatted as a serialized proto. Adds the key-value pairs of
+// 'request_as_query_parameters' as query parameters.
+// 'request_as_query_parameters' is only non-null for GET requests.
+GURL UrlWithQueryParameters(
+    const std::string& url,
+    const absl::optional<
+        push_notification::PushNotificationDesktopApiCallFlow::QueryParameters>&
+        request_as_query_parameters) {
+  GURL url_with_qp(url);
+
+  url_with_qp =
+      net::AppendQueryParameter(url_with_qp, kQueryParameterAlternateOutputKey,
+                                kQueryParameterAlternateOutputProto);
+
+  if (request_as_query_parameters) {
+    for (const auto& key_value : *request_as_query_parameters) {
+      url_with_qp = net::AppendQueryParameter(url_with_qp, key_value.first,
+                                              key_value.second);
+    }
+  }
+
+  return url_with_qp;
+}
+
+}  // namespace
+
+namespace push_notification {
+
+class PushNotificationDesktopApiCallFlowImplTest : public testing::Test {
+ protected:
+  PushNotificationDesktopApiCallFlowImplTest()
+      : shared_factory_(
+            base::MakeRefCounted<network::WeakWrapperSharedURLLoaderFactory>(
+                &test_url_loader_factory_)) {
+    flow_.SetPartialNetworkTrafficAnnotation(
+        PARTIAL_TRAFFIC_ANNOTATION_FOR_TESTS);
+  }
+
+  void StartPostRequestApiCallFlow() {
+    StartPostRequestApiCallFlowWithSerializedRequest(kSerializedRequestProto);
+  }
+
+  void StartPostRequestApiCallFlowWithSerializedRequest(
+      const std::string& serialized_request) {
+    flow_.StartPostRequest(
+        GURL(kRequestUrl), serialized_request, shared_factory_, kAccessToken,
+        base::BindOnce(&PushNotificationDesktopApiCallFlowImplTest::OnResult,
+                       base::Unretained(this)),
+        base::BindOnce(&PushNotificationDesktopApiCallFlowImplTest::OnError,
+                       base::Unretained(this)));
+    // A pending fetch for the API request should be created.
+    CheckPushNotificationHttpPostRequest(serialized_request);
+  }
+
+  void StartPatchRequestApiCallFlow() {
+    StartPatchRequestApiCallFlowWithSerializedRequest(kSerializedRequestProto);
+  }
+
+  void StartPatchRequestApiCallFlowWithSerializedRequest(
+      const std::string& serialized_request) {
+    flow_.StartPatchRequest(
+        GURL(kRequestUrl), serialized_request, shared_factory_, kAccessToken,
+        base::BindOnce(&PushNotificationDesktopApiCallFlowImplTest::OnResult,
+                       base::Unretained(this)),
+        base::BindOnce(&PushNotificationDesktopApiCallFlowImplTest::OnError,
+                       base::Unretained(this)));
+    // A pending fetch for the API request should be created.
+    CheckPushNotificationHttpPatchRequest(serialized_request);
+  }
+
+  void StartGetRequestApiCallFlow() {
+    StartGetRequestApiCallFlowWithRequestAsQueryParameters(
+        GetTestRequestProtoAsQueryParameters());
+  }
+
+  void StartGetRequestApiCallFlowWithRequestAsQueryParameters(
+      const PushNotificationDesktopApiCallFlow::QueryParameters&
+          request_as_query_parameters) {
+    flow_.StartGetRequest(
+        GURL(kRequestUrl), request_as_query_parameters, shared_factory_,
+        kAccessToken,
+        base::BindOnce(&PushNotificationDesktopApiCallFlowImplTest::OnResult,
+                       base::Unretained(this)),
+        base::BindOnce(&PushNotificationDesktopApiCallFlowImplTest::OnError,
+                       base::Unretained(this)));
+    // A pending fetch for the API request should be created.
+    CheckPushNotificationHttpGetRequest(request_as_query_parameters);
+  }
+
+  void OnResult(const std::string& result) {
+    EXPECT_FALSE(result_ || network_error_);
+    result_ = std::make_unique<std::string>(result);
+  }
+
+  void OnError(
+      PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError
+          network_error) {
+    EXPECT_FALSE(result_ || network_error_);
+    network_error_ = std::make_unique<
+        PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError>(
+        network_error);
+  }
+
+  void CheckPushNotificationHttpPostRequest(
+      const std::string& serialized_request) {
+    const std::vector<network::TestURLLoaderFactory::PendingRequest>& pending =
+        *test_url_loader_factory_.pending_requests();
+    ASSERT_EQ(1u, pending.size());
+    const network::ResourceRequest& request = pending[0].request;
+
+    EXPECT_EQ(UrlWithQueryParameters(
+                  kRequestUrl, absl::nullopt /* request_as_query_parameters */),
+              request.url);
+
+    EXPECT_EQ(kPost, request.method);
+
+    EXPECT_EQ(serialized_request, network::GetUploadData(request));
+
+    std::string content_type;
+    EXPECT_TRUE(request.headers.GetHeader(net::HttpRequestHeaders::kContentType,
+                                          &content_type));
+    EXPECT_EQ("application/x-protobuf", content_type);
+  }
+
+  void CheckPushNotificationHttpPatchRequest(
+      const std::string& serialized_request) {
+    const std::vector<network::TestURLLoaderFactory::PendingRequest>& pending =
+        *test_url_loader_factory_.pending_requests();
+    ASSERT_EQ(1u, pending.size());
+    const network::ResourceRequest& request = pending[0].request;
+
+    EXPECT_EQ(UrlWithQueryParameters(
+                  kRequestUrl, absl::nullopt /* request_as_query_parameters */),
+              request.url);
+
+    EXPECT_EQ(kPatch, request.method);
+
+    EXPECT_EQ(serialized_request, network::GetUploadData(request));
+
+    std::string content_type;
+    EXPECT_TRUE(request.headers.GetHeader(net::HttpRequestHeaders::kContentType,
+                                          &content_type));
+    EXPECT_EQ("application/x-protobuf", content_type);
+  }
+
+  void CheckPushNotificationHttpGetRequest(
+      const PushNotificationDesktopApiCallFlow::QueryParameters&
+          request_as_query_parameters) {
+    const std::vector<network::TestURLLoaderFactory::PendingRequest>& pending =
+        *test_url_loader_factory_.pending_requests();
+    ASSERT_EQ(1u, pending.size());
+    const network::ResourceRequest& request = pending[0].request;
+
+    EXPECT_EQ(UrlWithQueryParameters(kRequestUrl, request_as_query_parameters),
+              request.url);
+
+    EXPECT_EQ(kGet, request.method);
+
+    // Expect no body.
+    EXPECT_TRUE(network::GetUploadData(request).empty());
+    EXPECT_FALSE(
+        request.headers.HasHeader(net::HttpRequestHeaders::kContentType));
+  }
+
+  // Responds to the current HTTP POST request. If the 'error' is not net::OK,
+  // then the 'response_code' and 'response_string' are null.
+  void CompleteCurrentPostRequest(
+      net::Error error,
+      absl::optional<int> response_code = absl::nullopt,
+      const absl::optional<std::string>& response_string = absl::nullopt) {
+    network::URLLoaderCompletionStatus completion_status(error);
+    auto response_head = network::mojom::URLResponseHead::New();
+    std::string content;
+    if (error == net::OK) {
+      response_head = network::CreateURLResponseHead(
+          static_cast<net::HttpStatusCode>(*response_code));
+      content = *response_string;
+    }
+
+    // Use kUrlMatchPrefix flag to match URL without query parameters.
+    EXPECT_TRUE(test_url_loader_factory_.SimulateResponseForPendingRequest(
+        GURL(kRequestUrl), completion_status, std::move(response_head), content,
+        network::TestURLLoaderFactory::ResponseMatchFlags::kUrlMatchPrefix));
+
+    EXPECT_TRUE(result_ || network_error_);
+  }
+
+  // Responds to the current HTTP PATCH request. If the 'error' is not net::OK,
+  // then the 'response_code' and 'response_string' are null.
+  void CompleteCurrentPatchRequest(
+      net::Error error,
+      absl::optional<int> response_code = absl::nullopt,
+      const absl::optional<std::string>& response_string = absl::nullopt) {
+    network::URLLoaderCompletionStatus completion_status(error);
+    auto response_head = network::mojom::URLResponseHead::New();
+    std::string content;
+    if (error == net::OK) {
+      response_head = network::CreateURLResponseHead(
+          static_cast<net::HttpStatusCode>(*response_code));
+      content = *response_string;
+    }
+
+    // Use kUrlMatchPrefix flag to match URL without query parameters.
+    EXPECT_TRUE(test_url_loader_factory_.SimulateResponseForPendingRequest(
+        GURL(kRequestUrl), completion_status, std::move(response_head), content,
+        network::TestURLLoaderFactory::ResponseMatchFlags::kUrlMatchPrefix));
+
+    EXPECT_TRUE(result_ || network_error_);
+  }
+
+  // Responds to the current HTTP GET request. If the 'error' is not net::OK,
+  // then the 'response_code' and 'response_string' are null.
+  void CompleteCurrentGetRequest(
+      net::Error error,
+      absl::optional<int> response_code = absl::nullopt,
+      const absl::optional<std::string>& response_string = absl::nullopt) {
+    network::URLLoaderCompletionStatus completion_status(error);
+    auto response_head = network::mojom::URLResponseHead::New();
+    std::string content;
+    if (error == net::OK) {
+      response_head = network::CreateURLResponseHead(
+          static_cast<net::HttpStatusCode>(*response_code));
+      content = *response_string;
+    }
+
+    // Use kUrlMatchPrefix flag to match URL without query parameters.
+    EXPECT_TRUE(test_url_loader_factory_.SimulateResponseForPendingRequest(
+        GURL(kRequestUrl), completion_status, std::move(response_head), content,
+        network::TestURLLoaderFactory::ResponseMatchFlags::kUrlMatchPrefix));
+
+    EXPECT_TRUE(result_ || network_error_);
+  }
+
+  std::unique_ptr<std::string> result_;
+  std::unique_ptr<
+      PushNotificationDesktopApiCallFlow::PushNotificationApiCallFlowError>
+      network_error_;
+
+ private:
+  base::test::TaskEnvironment task_environment_;
+  network::TestURLLoaderFactory test_url_loader_factory_;
+  scoped_refptr<network::SharedURLLoaderFactory> shared_factory_;
+
+  PushNotificationDesktopApiCallFlowImpl flow_;
+};
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, PostRequestSuccess) {
+  StartPostRequestApiCallFlow();
+  CompleteCurrentPostRequest(net::OK, net::HTTP_OK, kSerializedResponseProto);
+  EXPECT_EQ(kSerializedResponseProto, *result_);
+  EXPECT_FALSE(network_error_);
+}
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, PatchRequestSuccess) {
+  StartPatchRequestApiCallFlow();
+  CompleteCurrentPatchRequest(net::OK, net::HTTP_OK, kSerializedResponseProto);
+  EXPECT_EQ(kSerializedResponseProto, *result_);
+  EXPECT_FALSE(network_error_);
+}
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, GetRequestSuccess) {
+  StartGetRequestApiCallFlow();
+  CompleteCurrentGetRequest(net::OK, net::HTTP_OK, kSerializedResponseProto);
+  EXPECT_EQ(kSerializedResponseProto, *result_);
+  EXPECT_FALSE(network_error_);
+}
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, PostRequestFailure) {
+  StartPostRequestApiCallFlow();
+  CompleteCurrentPostRequest(net::ERR_FAILED);
+  EXPECT_FALSE(result_);
+  EXPECT_EQ(PushNotificationDesktopApiCallFlow::
+                PushNotificationApiCallFlowError::kOffline,
+            *network_error_);
+}
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, PatchRequestFailure) {
+  StartPatchRequestApiCallFlow();
+  CompleteCurrentPatchRequest(net::ERR_FAILED);
+  EXPECT_FALSE(result_);
+  EXPECT_EQ(PushNotificationDesktopApiCallFlow::
+                PushNotificationApiCallFlowError::kOffline,
+            *network_error_);
+}
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, GetRequestFailure) {
+  StartGetRequestApiCallFlow();
+  CompleteCurrentPostRequest(net::ERR_FAILED);
+  EXPECT_FALSE(result_);
+  EXPECT_EQ(PushNotificationDesktopApiCallFlow::
+                PushNotificationApiCallFlowError::kOffline,
+            *network_error_);
+}
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, RequestStatus500) {
+  StartPostRequestApiCallFlow();
+  CompleteCurrentPostRequest(net::OK, net::HTTP_INTERNAL_SERVER_ERROR,
+                             "Chime Meltdown.");
+  EXPECT_FALSE(result_);
+  EXPECT_EQ(PushNotificationDesktopApiCallFlow::
+                PushNotificationApiCallFlowError::kInternalServerError,
+            *network_error_);
+}
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, PatchRequestStatus500) {
+  StartPatchRequestApiCallFlow();
+  CompleteCurrentPatchRequest(net::OK, net::HTTP_INTERNAL_SERVER_ERROR,
+                              "Chime Meltdown.");
+  EXPECT_FALSE(result_);
+  EXPECT_EQ(PushNotificationDesktopApiCallFlow::
+                PushNotificationApiCallFlowError::kInternalServerError,
+            *network_error_);
+}
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, GetRequestStatus500) {
+  StartGetRequestApiCallFlow();
+  CompleteCurrentPostRequest(net::OK, net::HTTP_INTERNAL_SERVER_ERROR,
+                             "Chime Meltdown.");
+  EXPECT_FALSE(result_);
+  EXPECT_EQ(PushNotificationDesktopApiCallFlow::
+                PushNotificationApiCallFlowError::kInternalServerError,
+            *network_error_);
+}
+
+// The empty string is a valid protocol buffer message serialization.
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, PostRequestWithNoBody) {
+  StartPostRequestApiCallFlowWithSerializedRequest(std::string());
+  CompleteCurrentPostRequest(net::OK, net::HTTP_OK, kSerializedResponseProto);
+  EXPECT_EQ(kSerializedResponseProto, *result_);
+  EXPECT_FALSE(network_error_);
+}
+
+// The empty string is a valid protocol buffer message serialization.
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, PatchRequestWithNoBody) {
+  StartPatchRequestApiCallFlowWithSerializedRequest(std::string());
+  CompleteCurrentPatchRequest(net::OK, net::HTTP_OK, kSerializedResponseProto);
+  EXPECT_EQ(kSerializedResponseProto, *result_);
+  EXPECT_FALSE(network_error_);
+}
+
+TEST_F(PushNotificationDesktopApiCallFlowImplTest,
+       GetRequestWithNoQueryParameters) {
+  StartGetRequestApiCallFlowWithRequestAsQueryParameters(
+      {} /* request_as_query_parameters */);
+  CompleteCurrentPostRequest(net::OK, net::HTTP_OK, kSerializedResponseProto);
+  EXPECT_EQ(kSerializedResponseProto, *result_);
+  EXPECT_FALSE(network_error_);
+}
+
+// The empty string is a valid protocol buffer message serialization.
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, PostResponseWithNoBody) {
+  StartPostRequestApiCallFlow();
+  CompleteCurrentPostRequest(net::OK, net::HTTP_OK, std::string());
+  EXPECT_EQ(std::string(), *result_);
+  EXPECT_FALSE(network_error_);
+}
+
+// The empty string is a valid protocol buffer message serialization.
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, PatchResponseWithNoBody) {
+  StartPatchRequestApiCallFlow();
+  CompleteCurrentPatchRequest(net::OK, net::HTTP_OK, std::string());
+  EXPECT_EQ(std::string(), *result_);
+  EXPECT_FALSE(network_error_);
+}
+
+// The empty string is a valid protocol buffer message serialization.
+TEST_F(PushNotificationDesktopApiCallFlowImplTest, GetResponseWithNoBody) {
+  StartGetRequestApiCallFlow();
+  CompleteCurrentPostRequest(net::OK, net::HTTP_OK, std::string());
+  EXPECT_EQ(std::string(), *result_);
+  EXPECT_FALSE(network_error_);
+}
+
+}  // namespace push_notification
diff --git a/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java b/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java
index 6e01f66..cfd46bf 100644
--- a/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java
+++ b/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java
@@ -485,10 +485,15 @@
             mPlaybackHooks.initVoices();
         }
 
+        // Notify player UI that playback is happening soon and show UI in case there's an error
+        // coming.
+        mPlayerCoordinator.playTabRequested();
+
         String playbackLanguage = getLanguageForNewPlayback(tab);
         var voices = mPlaybackHooks.getVoicesFor(playbackLanguage);
         // TODO: Don't show entrypoints for unsupported languages
         if (voices == null || voices.isEmpty()) {
+            onCreatePlaybackFailed();
             var promise = new Promise<Playback>();
             promise.reject(new Exception("Unsupported language"));
             return promise;
@@ -515,16 +520,18 @@
                 },
                 exception -> {
                     Log.e(TAG, exception.getMessage());
-                    ReadAloudMetrics.recordIsTabPlaybackCreationSuccessful(false);
-                    mPlayerCoordinator.playbackFailed();
+                    onCreatePlaybackFailed();
                 });
 
-        // Notify player UI that playback is happening soon.
-        mPlayerCoordinator.playTabRequested();
         updateVoiceMenu(playbackLanguage);
         return promise;
     }
 
+    private void onCreatePlaybackFailed() {
+        ReadAloudMetrics.recordIsTabPlaybackCreationSuccessful(false);
+        mPlayerCoordinator.playbackFailed();
+    }
+
     /**
      * Whether or not timepoints are supported for the tab's content.
      * Timepoints are needed for word highlighting.
diff --git a/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java b/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java
index d27aef2..130245d 100644
--- a/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java
+++ b/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java
@@ -554,6 +554,7 @@
         mController.playTab(mTab);
 
         verify(mPlaybackHooks, never()).createPlayback(mPlaybackArgsCaptor.capture(), any());
+        verify(mPlayerCoordinator).playbackFailed();
     }
 
     @Test
diff --git a/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerLayout.java b/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerLayout.java
index 4edc025..b2e08e9 100644
--- a/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerLayout.java
+++ b/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/player/mini/MiniPlayerLayout.java
@@ -223,7 +223,11 @@
 
             case STOPPED:
             case PAUSED:
-                if (mLastPlaybackState != PLAYING && mLastPlaybackState != PAUSED) {
+                // Buffering/unknown and error states have their own views, show back the normal
+                // layout if needed
+                if (mLastPlaybackState != PLAYING
+                        && mLastPlaybackState != PAUSED
+                        && mLastPlaybackState != ERROR) {
                     showOnly(mNormalLayout);
                     mProgressBar.setVisibility(View.VISIBLE);
                 }
diff --git a/chrome/browser/resources/compose/app.ts b/chrome/browser/resources/compose/app.ts
index 3703e08..9a710a0 100644
--- a/chrome/browser/resources/compose/app.ts
+++ b/chrome/browser/resources/compose/app.ts
@@ -526,6 +526,15 @@
       return;
     }
 
+    // When pressing tab from the last focusable element on the page, the
+    // browser seems to reset focus onto document.body and cause a temporary
+    // window blur. Do not show the saved state notification in this case
+    // since this allows users to hit tab from the last focusable element
+    // to loop focus back to the first focusable element.
+    if (document.activeElement === document.body) {
+      return;
+    }
+
     // Show Saved State Notification if losing focus from the main app dialog.
     if (this.showMainAppDialog_) {
       this.showMainAppDialog_ = false;
diff --git a/chrome/browser/resources/internals/user_education/user_education_internals_card.ts b/chrome/browser/resources/internals/user_education/user_education_internals_card.ts
index 8c2d2c72..ce79a34 100644
--- a/chrome/browser/resources/internals/user_education/user_education_internals_card.ts
+++ b/chrome/browser/resources/internals/user_education/user_education_internals_card.ts
@@ -59,9 +59,9 @@
 
   private clearData_() {
     if (confirm(
-            'Clear Feature Promo data?\n' +
-            'Note: this will not clear Feature Engagement data, ' +
-            'so this promo may still not be able to show normally.')) {
+            'Clear Feature Promo data and Feature Enagement events?\n' +
+            'Note: because of session tracking and event constraints, ' +
+            'Feature Engagement may still disallow this promo.')) {
       this.dispatchEvent(new CustomEvent(
           CLEAR_PROMO_DATA_EVENT,
           {bubbles: true, composed: true, detail: this.promo.internalName}));
diff --git a/chrome/browser/resources/tab_search/tab_organization_results.ts b/chrome/browser/resources/tab_search/tab_organization_results.ts
index dc5b239f..b40a1844 100644
--- a/chrome/browser/resources/tab_search/tab_organization_results.ts
+++ b/chrome/browser/resources/tab_search/tab_organization_results.ts
@@ -161,21 +161,29 @@
   }
 
   private onListKeyDown_(event: KeyboardEvent) {
-    if (event.shiftKey) {
-      return;
-    }
-
     const selector = this.$.selector;
     if (selector.selected === undefined) {
       return;
     }
 
-    if (event.key === 'ArrowUp' || event.key === 'ArrowDown') {
+    let handled = false;
+    if (event.shiftKey && event.key === 'Tab') {
+      // Explicitly focus the element prior to the list in focus order and
+      // override the default behavior, which would be to focus the row that
+      // the currently focused close button is in.
+      this.$.input.focus();
+      handled = true;
+    } else if (!event.shiftKey) {
       if (event.key === 'ArrowUp') {
         selector.selectPrevious();
-      } else {
+        handled = true;
+      } else if (event.key === 'ArrowDown') {
         selector.selectNext();
+        handled = true;
       }
+    }
+
+    if (handled) {
       event.stopPropagation();
       event.preventDefault();
     }
diff --git a/chrome/browser/rlz/chrome_rlz_tracker_delegate.cc b/chrome/browser/rlz/chrome_rlz_tracker_delegate.cc
index b67f3af..17c5239a 100644
--- a/chrome/browser/rlz/chrome_rlz_tracker_delegate.cc
+++ b/chrome/browser/rlz/chrome_rlz_tracker_delegate.cc
@@ -28,13 +28,6 @@
 #include "components/search_engines/template_url.h"
 #include "components/search_engines/template_url_service.h"
 #include "content/public/browser/browser_thread.h"
-#include "content/public/browser/navigation_controller.h"
-#include "content/public/browser/navigation_details.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/notification_details.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/notification_source.h"
-#include "content/public/browser/notification_types.h"
 #include "content/public/common/content_switches.h"
 #include "rlz/buildflags/buildflags.h"
 #include "services/network/public/cpp/shared_url_loader_factory.h"
@@ -114,7 +107,6 @@
 }
 
 void ChromeRLZTrackerDelegate::Cleanup() {
-  registrar_.RemoveAll();
   on_omnibox_search_callback_.Reset();
   on_homepage_search_callback_.Reset();
 }
@@ -196,71 +188,19 @@
 void ChromeRLZTrackerDelegate::SetHomepageSearchCallback(
     base::OnceClosure callback) {
   DCHECK(!callback.is_null());
-  registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-                 content::NotificationService::AllSources());
   on_homepage_search_callback_ = std::move(callback);
 }
 
+void ChromeRLZTrackerDelegate::RunHomepageSearchCallback() {
+  if (!on_homepage_search_callback_.is_null()) {
+    std::move(on_homepage_search_callback_).Run();
+  }
+}
+
 bool ChromeRLZTrackerDelegate::ShouldUpdateExistingAccessPointRlz() {
   return true;
 }
 
-void ChromeRLZTrackerDelegate::Observe(
-    int type,
-    const content::NotificationSource& source,
-    const content::NotificationDetails& details) {
-  base::OnceClosure callback_to_run;
-  switch (type) {
-    case content::NOTIFICATION_NAV_ENTRY_COMMITTED: {
-      // Firstly check if it is a Google search.
-      content::LoadCommittedDetails* load_details =
-          content::Details<content::LoadCommittedDetails>(details).ptr();
-      if (load_details == nullptr)
-        break;
-
-      content::NavigationEntry* entry = load_details->entry;
-      if (entry == nullptr)
-        break;
-
-      if (google_util::IsGoogleSearchUrl(entry->GetURL())) {
-        // If it is a Google search, check if it originates from HOMEPAGE by
-        // getting the previous NavigationEntry.
-        content::NavigationController* controller =
-            content::Source<content::NavigationController>(source).ptr();
-        if (controller == nullptr)
-          break;
-
-        int entry_index = controller->GetLastCommittedEntryIndex();
-        if (entry_index < 1)
-          break;
-
-        content::NavigationEntry* previous_entry =
-            controller->GetEntryAtIndex(entry_index - 1);
-
-        if (previous_entry == nullptr)
-          break;
-
-        // Make sure it is a Google web page originated from HOMEPAGE.
-        if (google_util::IsGoogleHomePageUrl(previous_entry->GetURL()) &&
-            ((previous_entry->GetTransitionType() &
-              ui::PAGE_TRANSITION_HOME_PAGE) != 0)) {
-          registrar_.Remove(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-                            content::NotificationService::AllSources());
-          callback_to_run = std::move(on_homepage_search_callback_);
-        }
-      }
-      break;
-    }
-
-    default:
-      NOTREACHED();
-      break;
-  }
-
-  if (!callback_to_run.is_null())
-    std::move(callback_to_run).Run();
-}
-
 void ChromeRLZTrackerDelegate::OnURLOpenedFromOmnibox(OmniboxLog* log) {
 
   // In M-36, we made NOTIFICATION_OMNIBOX_OPENED_URL fire more often than
diff --git a/chrome/browser/rlz/chrome_rlz_tracker_delegate.h b/chrome/browser/rlz/chrome_rlz_tracker_delegate.h
index 2395c6ab..1b3a045 100644
--- a/chrome/browser/rlz/chrome_rlz_tracker_delegate.h
+++ b/chrome/browser/rlz/chrome_rlz_tracker_delegate.h
@@ -8,8 +8,6 @@
 #include "base/functional/callback.h"
 #include "components/omnibox/browser/omnibox_event_global_tracker.h"
 #include "components/rlz/rlz_tracker_delegate.h"
-#include "content/public/browser/notification_observer.h"
-#include "content/public/browser/notification_registrar.h"
 
 class Profile;
 
@@ -19,8 +17,7 @@
 
 // ChromeRLZTrackerDelegate implements RLZTrackerDelegate abstract interface
 // and provides access to Chrome features.
-class ChromeRLZTrackerDelegate : public rlz::RLZTrackerDelegate,
-                                 public content::NotificationObserver {
+class ChromeRLZTrackerDelegate : public rlz::RLZTrackerDelegate {
  public:
   ChromeRLZTrackerDelegate();
 
@@ -35,7 +32,6 @@
   static bool IsGoogleHomepage(Profile* profile);
   static bool IsGoogleInStartpages(Profile* profile);
 
- private:
   // RLZTrackerDelegate implementation.
   void Cleanup() override;
   bool IsOnUIThread() override;
@@ -49,17 +45,13 @@
   bool ClearReferral() override;
   void SetOmniboxSearchCallback(base::OnceClosure callback) override;
   void SetHomepageSearchCallback(base::OnceClosure callback) override;
+  void RunHomepageSearchCallback() override;
   bool ShouldUpdateExistingAccessPointRlz() override;
 
-  // content::NotificationObserver implementation:
-  void Observe(int type,
-               const content::NotificationSource& source,
-               const content::NotificationDetails& details) override;
-
+ private:
   // Called when a URL is opened from the Omnibox.
   void OnURLOpenedFromOmnibox(OmniboxLog* log);
 
-  content::NotificationRegistrar registrar_;
   base::OnceClosure on_omnibox_search_callback_;
   base::OnceClosure on_homepage_search_callback_;
 
diff --git a/chrome/browser/rlz/chrome_rlz_tracker_delegate_unittest.cc b/chrome/browser/rlz/chrome_rlz_tracker_delegate_unittest.cc
index 2957559c..f314d6d 100644
--- a/chrome/browser/rlz/chrome_rlz_tracker_delegate_unittest.cc
+++ b/chrome/browser/rlz/chrome_rlz_tracker_delegate_unittest.cc
@@ -4,47 +4,35 @@
 
 #include "chrome/browser/rlz/chrome_rlz_tracker_delegate.h"
 
-#include <memory>
-
-#include "base/test/task_environment.h"
-#include "content/public/browser/navigation_details.h"
-#include "content/public/browser/navigation_entry.h"
-#include "content/public/browser/notification_service.h"
-#include "content/public/browser/notification_source.h"
-#include "content/public/browser/notification_types.h"
+#include "testing/gmock/include/gmock/gmock.h"
 #include "testing/gtest/include/gtest/gtest.h"
 
-using content::NavigationEntry;
-using content::LoadCommittedDetails;
-
 class ChromeRLZTrackerDelegateTest : public testing::Test {
  public:
-  ChromeRLZTrackerDelegateTest() : delegate_(new ChromeRLZTrackerDelegate) {}
+  ChromeRLZTrackerDelegateTest()
+      : delegate_(std::make_unique<ChromeRLZTrackerDelegate>()) {}
   ~ChromeRLZTrackerDelegateTest() override {}
 
-  void SendNotification(int type,
-                        const content::NotificationSource& source,
-                        const content::NotificationDetails& details) {
-    content::NotificationObserver* observer = delegate_.get();
-    observer->Observe(type, source, details);
-  }
+  ChromeRLZTrackerDelegate* delegate() { return delegate_.get(); }
+
+  MOCK_METHOD0(TestCallback, void(void));
 
  private:
-  base::test::TaskEnvironment task_environment_;
   std::unique_ptr<ChromeRLZTrackerDelegate> delegate_;
 };
 
-TEST_F(ChromeRLZTrackerDelegateTest, ObserveHandlesBadArgs) {
-  std::unique_ptr<content::LoadCommittedDetails> details(
-      new content::LoadCommittedDetails());
-  std::unique_ptr<content::NavigationEntry> entry(
-      content::NavigationEntry::Create());
-  details->entry = entry.get();
-  details->entry->SetTransitionType(ui::PAGE_TRANSITION_LINK);
-  SendNotification(content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-                   content::NotificationService::AllSources(),
-                   content::Details<NavigationEntry>(nullptr));
-  SendNotification(content::NOTIFICATION_NAV_ENTRY_COMMITTED,
-                   content::NotificationService::AllSources(),
-                   content::Details<LoadCommittedDetails>(details.get()));
+TEST_F(ChromeRLZTrackerDelegateTest, HomepageSearchCallback) {
+  // The callback is not run if it is not set.
+  EXPECT_CALL(*this, TestCallback()).Times(0);
+  delegate()->RunHomepageSearchCallback();
+
+  // Sets the callback and runs it.
+  delegate()->SetHomepageSearchCallback(base::BindOnce(
+      &ChromeRLZTrackerDelegateTest::TestCallback, base::Unretained(this)));
+  EXPECT_CALL(*this, TestCallback());
+  delegate()->RunHomepageSearchCallback();
+
+  // The callback should be cleared and will not run again.
+  EXPECT_CALL(*this, TestCallback()).Times(0);
+  delegate()->RunHomepageSearchCallback();
 }
diff --git a/chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer.cc b/chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer.cc
new file mode 100644
index 0000000..0c66047
--- /dev/null
+++ b/chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer.cc
@@ -0,0 +1,70 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer.h"
+
+#include "components/google/core/common/google_util.h"
+#include "components/rlz/rlz_tracker.h"
+#include "content/public/browser/navigation_controller.h"
+#include "content/public/browser/navigation_details.h"
+#include "content/public/browser/navigation_entry.h"
+
+ChromeRLZTrackerWebContentsObserver::ChromeRLZTrackerWebContentsObserver(
+    content::WebContents* web_contents)
+    : content::WebContentsObserver(web_contents),
+      content::WebContentsUserData<ChromeRLZTrackerWebContentsObserver>(
+          *web_contents) {}
+
+ChromeRLZTrackerWebContentsObserver::~ChromeRLZTrackerWebContentsObserver() =
+    default;
+
+// static
+void ChromeRLZTrackerWebContentsObserver::CreateForWebContentsIfNeeded(
+    content::WebContents* web_contents) {
+  if (rlz::RLZTracker::ShouldRecordChromeHomePageSearch()) {
+    CreateForWebContents(web_contents);
+  }
+}
+
+void ChromeRLZTrackerWebContentsObserver::NavigationEntryCommitted(
+    const content::LoadCommittedDetails& load_details) {
+  if (load_details.entry == nullptr) {
+    return;
+  }
+
+  // Remove the observer if we have recorded the search in other web contents.
+  if (!rlz::RLZTracker::ShouldRecordChromeHomePageSearch()) {
+    web_contents()->RemoveUserData(UserDataKey());
+    return;
+  }
+
+  // Firstly check if it is a Google search.
+  if (google_util::IsGoogleSearchUrl(load_details.entry->GetURL())) {
+    // If it is a Google search, check if it originates from HOMEPAGE by getting
+    // the previous NavigationEntry.
+    int entry_index =
+        web_contents()->GetController().GetLastCommittedEntryIndex();
+    if (entry_index < 1) {
+      return;
+    }
+
+    content::NavigationEntry* previous_entry =
+        web_contents()->GetController().GetEntryAtIndex(entry_index - 1);
+    if (previous_entry == nullptr) {
+      return;
+    }
+
+    // Make sure it is a Google web page originated from HOMEPAGE.
+    if (google_util::IsGoogleHomePageUrl(previous_entry->GetURL()) &&
+        ((previous_entry->GetTransitionType() &
+          ui::PAGE_TRANSITION_HOME_PAGE) != 0)) {
+      rlz::RLZTracker::RecordChromeHomePageSearch();
+
+      // Remove the observer since we only need to record the search once.
+      web_contents()->RemoveUserData(UserDataKey());
+    }
+  }
+}
+
+WEB_CONTENTS_USER_DATA_KEY_IMPL(ChromeRLZTrackerWebContentsObserver);
diff --git a/chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer.h b/chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer.h
new file mode 100644
index 0000000..4b2e8646
--- /dev/null
+++ b/chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer.h
@@ -0,0 +1,38 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_RLZ_CHROME_RLZ_TRACKER_WEB_CONTENTS_OBSERVER_H_
+#define CHROME_BROWSER_RLZ_CHROME_RLZ_TRACKER_WEB_CONTENTS_OBSERVER_H_
+
+#include "content/public/browser/web_contents_observer.h"
+#include "content/public/browser/web_contents_user_data.h"
+
+class ChromeRLZTrackerWebContentsObserver
+    : public content::WebContentsObserver,
+      public content::WebContentsUserData<ChromeRLZTrackerWebContentsObserver> {
+ public:
+  ~ChromeRLZTrackerWebContentsObserver() override;
+
+  // Observes the web contents only if RLZ has not recorded that user has
+  // performed a Google search from their Google homepage yet.
+  static void CreateForWebContentsIfNeeded(content::WebContents* web_contents);
+
+ private:
+  explicit ChromeRLZTrackerWebContentsObserver(
+      content::WebContents* web_contents);
+  ChromeRLZTrackerWebContentsObserver(
+      const ChromeRLZTrackerWebContentsObserver&) = delete;
+  ChromeRLZTrackerWebContentsObserver& operator=(
+      const ChromeRLZTrackerWebContentsObserver&) = delete;
+  friend class content::WebContentsUserData<
+      ChromeRLZTrackerWebContentsObserver>;
+
+  // content::WebContentsObserver:
+  void NavigationEntryCommitted(
+      const content::LoadCommittedDetails& load_details) override;
+
+  WEB_CONTENTS_USER_DATA_KEY_DECL();
+};
+
+#endif  // CHROME_BROWSER_RLZ_CHROME_RLZ_TRACKER_WEB_CONTENTS_OBSERVER_H_
diff --git a/chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer_unittest.cc b/chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer_unittest.cc
new file mode 100644
index 0000000..99541fb
--- /dev/null
+++ b/chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer_unittest.cc
@@ -0,0 +1,126 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer.h"
+
+#include "chrome/test/base/chrome_render_view_host_test_harness.h"
+#include "components/rlz/mock_rlz_tracker_delegate.h"
+#include "components/rlz/rlz_tracker.h"
+
+using ::testing::_;
+using ::testing::Return;
+
+class ChromeRLZTrackerWebContentsObserverTest
+    : public ChromeRenderViewHostTestHarness {
+ public:
+  ChromeRLZTrackerWebContentsObserverTest() {}
+  ~ChromeRLZTrackerWebContentsObserverTest() override {}
+
+  rlz::MockRLZTrackerDelegate* delegate() { return delegate_; }
+
+ protected:
+  void SetUp() override {
+    ChromeRenderViewHostTestHarness::SetUp();
+    auto delegate = std::make_unique<rlz::MockRLZTrackerDelegate>();
+    delegate_ = delegate.get();
+    rlz::RLZTracker::SetRlzDelegate(std::move(delegate));
+  }
+
+  void TearDown() override {
+    rlz::RLZTracker::SetRlzChromeHomePageSearchRecordedForTesting(false);
+    rlz::RLZTracker::ClearRlzDelegateForTesting();
+    delegate_ = nullptr;
+    ChromeRenderViewHostTestHarness::TearDown();
+  }
+
+ private:
+  raw_ptr<rlz::MockRLZTrackerDelegate> delegate_;
+};
+
+TEST_F(ChromeRLZTrackerWebContentsObserverTest, PerformHomepageSearch) {
+  EXPECT_CALL(*delegate(), GetBrand(_)).WillRepeatedly(Return(true));
+  EXPECT_CALL(*delegate(), IsBrandOrganic(_)).WillRepeatedly(Return(false));
+
+  ChromeRLZTrackerWebContentsObserver::CreateForWebContentsIfNeeded(
+      web_contents());
+  ChromeRLZTrackerWebContentsObserver* observer =
+      ChromeRLZTrackerWebContentsObserver::FromWebContents(web_contents());
+  EXPECT_TRUE(observer);
+
+  // Search callback is not run for an invalid navigation.
+  EXPECT_CALL(*delegate(), RunHomepageSearchCallback()).Times(0);
+  NavigateAndCommit(
+      GURL("https://www.google.com"),
+      static_cast<ui::PageTransition>(ui::PAGE_TRANSITION_LINK |
+                                      ui::PAGE_TRANSITION_HOME_PAGE));
+  task_environment()->RunUntilIdle();
+
+  // Search callback is run for a valid navigation.
+  EXPECT_CALL(*delegate(), RunHomepageSearchCallback());
+  NavigateAndCommit(GURL("https://www.google.com/search?q=test"));
+  task_environment()->RunUntilIdle();
+
+  // Observer has been removed after a valid search.
+  observer =
+      ChromeRLZTrackerWebContentsObserver::FromWebContents(web_contents());
+  EXPECT_FALSE(observer);
+}
+
+TEST_F(ChromeRLZTrackerWebContentsObserverTest,
+       NotCreateObserverForEmptyBrand) {
+  EXPECT_CALL(*delegate(), GetBrand(_)).WillRepeatedly(Return(false));
+  ChromeRLZTrackerWebContentsObserver::CreateForWebContentsIfNeeded(
+      web_contents());
+  ChromeRLZTrackerWebContentsObserver* observer =
+      ChromeRLZTrackerWebContentsObserver::FromWebContents(web_contents());
+  EXPECT_FALSE(observer);
+}
+
+TEST_F(ChromeRLZTrackerWebContentsObserverTest,
+       NotCreateObserverForOrganicBrand) {
+  EXPECT_CALL(*delegate(), GetBrand(_)).WillRepeatedly(Return(true));
+  EXPECT_CALL(*delegate(), IsBrandOrganic(_)).WillRepeatedly(Return(true));
+
+  ChromeRLZTrackerWebContentsObserver::CreateForWebContentsIfNeeded(
+      web_contents());
+  ChromeRLZTrackerWebContentsObserver* observer =
+      ChromeRLZTrackerWebContentsObserver::FromWebContents(web_contents());
+  EXPECT_FALSE(observer);
+}
+
+TEST_F(ChromeRLZTrackerWebContentsObserverTest,
+       NotCreateObserverIfSearchRecorded) {
+  EXPECT_CALL(*delegate(), GetBrand(_)).WillRepeatedly(Return(true));
+  EXPECT_CALL(*delegate(), IsBrandOrganic(_)).WillRepeatedly(Return(false));
+  rlz::RLZTracker::SetRlzChromeHomePageSearchRecordedForTesting(true);
+
+  ChromeRLZTrackerWebContentsObserver::CreateForWebContentsIfNeeded(
+      web_contents());
+  ChromeRLZTrackerWebContentsObserver* observer =
+      ChromeRLZTrackerWebContentsObserver::FromWebContents(web_contents());
+  EXPECT_FALSE(observer);
+}
+
+TEST_F(ChromeRLZTrackerWebContentsObserverTest,
+       RemoveObserverOnNavigationIfSearchRecorded) {
+  EXPECT_CALL(*delegate(), GetBrand(_)).WillRepeatedly(Return(true));
+  EXPECT_CALL(*delegate(), IsBrandOrganic(_)).WillRepeatedly(Return(false));
+
+  ChromeRLZTrackerWebContentsObserver::CreateForWebContentsIfNeeded(
+      web_contents());
+  ChromeRLZTrackerWebContentsObserver* observer =
+      ChromeRLZTrackerWebContentsObserver::FromWebContents(web_contents());
+  EXPECT_TRUE(observer);
+
+  // Simulate that the search has been performed in other web contents.
+  rlz::RLZTracker::SetRlzChromeHomePageSearchRecordedForTesting(true);
+
+  // Navigating the web contents will remove the observer.
+  EXPECT_CALL(*delegate(), RunHomepageSearchCallback()).Times(0);
+  NavigateAndCommit(GURL("https://www.google.com/search?q=test"));
+  task_environment()->RunUntilIdle();
+  observer =
+      ChromeRLZTrackerWebContentsObserver::FromWebContents(web_contents());
+  EXPECT_FALSE(observer);
+}
diff --git a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
index 0f211bc1..a348de15 100644
--- a/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
+++ b/chrome/browser/safe_browsing/safe_browsing_blocking_page_test.cc
@@ -3969,7 +3969,8 @@
 // HashRealTimeService, this populates the local cache instead of mocking
 // network requests.
 class SafeBrowsingBlockingPageHashRealTimeCheckTest
-    : public InProcessBrowserTest {
+    : public InProcessBrowserTest,
+      public testing::WithParamInterface<bool> {
  public:
   SafeBrowsingBlockingPageHashRealTimeCheckTest() = default;
   SafeBrowsingBlockingPageHashRealTimeCheckTest(
@@ -4001,7 +4002,15 @@
 
  protected:
   virtual void InitFeatures() {
-    scoped_feature_list_.InitAndEnableFeature(kHashPrefixRealTimeLookups);
+    std::vector<base::test::FeatureRef> enabled_features = {
+        kHashPrefixRealTimeLookups};
+    std::vector<base::test::FeatureRef> disabled_features = {};
+    if (GetParam()) {
+      enabled_features.push_back(kSafeBrowsingAsyncRealTimeCheck);
+    } else {
+      disabled_features.push_back(kSafeBrowsingAsyncRealTimeCheck);
+    }
+    scoped_feature_list_.InitWithFeatures(enabled_features, disabled_features);
   }
   void SetUpVerdict(GURL url, Profile* profile, bool is_unsafe) {
     safe_browsing::VerdictCacheManagerFactory::GetForProfile(profile)
@@ -4042,20 +4051,40 @@
     : public SafeBrowsingBlockingPageHashRealTimeCheckTest {
  protected:
   void InitFeatures() override {
-    scoped_feature_list_.InitAndDisableFeature(kHashPrefixRealTimeLookups);
+    std::vector<base::test::FeatureRef> enabled_features = {};
+    std::vector<base::test::FeatureRef> disabled_features = {
+        kHashPrefixRealTimeLookups};
+    if (GetParam()) {
+      enabled_features.push_back(kSafeBrowsingAsyncRealTimeCheck);
+    } else {
+      disabled_features.push_back(kSafeBrowsingAsyncRealTimeCheck);
+    }
+    scoped_feature_list_.InitWithFeatures(enabled_features, disabled_features);
   }
 };
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageHashRealTimeCheckTest,
+INSTANTIATE_TEST_SUITE_P(AsyncCheckEnabled,
+                         SafeBrowsingBlockingPageHashRealTimeCheckTest,
+                         testing::Bool());
+INSTANTIATE_TEST_SUITE_P(
+    AsyncCheckEnabled,
+    SafeBrowsingBlockingPageHashRealTimeCheckFeatureOffTest,
+    testing::Bool());
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageHashRealTimeCheckTest,
                        ShowWarning) {
   base::HistogramTester histogram_tester;
   SetUpAndNavigateToUrl(/*is_unsafe=*/true);
   ASSERT_TRUE(IsShowingInterstitial());
+  // The TotalDelay2 metric is logged for whichever check is run sync. When
+  // async checks are disabled, that's the hash-prefix real-time check. When
+  // they are enabled, it's the hash-prefix database check, since the
+  // hash-prefix real-time check is run async.
+  bool is_using_async_checks = GetParam();
   histogram_tester.ExpectTotalCount(
       "SafeBrowsing.BrowserThrottle.TotalDelay2.HashPrefixRealTimeCheck",
-      /*expected_count=*/1);
+      /*expected_count=*/is_using_async_checks ? 0 : 1);
   histogram_tester.ExpectTotalCount(
       "SafeBrowsing.BrowserThrottle.TotalDelay2.HashPrefixDatabaseCheck",
-      /*expected_count=*/0);
+      /*expected_count=*/is_using_async_checks ? 1 : 0);
   histogram_tester.ExpectUniqueSample(
       "SafeBrowsing.HPRT.Ineligible.IneligibleForSessionOrLocation",
       /*sample=*/false,
@@ -4064,17 +4093,22 @@
       "interstitial.phishing.decision.from_hash_prefix_real_time_check_v5",
       /*expected_count=*/1);
 }
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageHashRealTimeCheckTest,
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageHashRealTimeCheckTest,
                        DontShowWarning_PageIsSafe) {
   base::HistogramTester histogram_tester;
   SetUpAndNavigateToUrl(/*is_unsafe=*/false);
   ASSERT_FALSE(IsShowingInterstitial());
+  // The TotalDelay2 metric is logged for whichever check is run sync. When
+  // async checks are disabled, that's the hash-prefix real-time check. When
+  // they are enabled, it's the hash-prefix database check, since the
+  // hash-prefix real-time check is run async.
+  bool is_using_async_checks = GetParam();
   histogram_tester.ExpectTotalCount(
       "SafeBrowsing.BrowserThrottle.TotalDelay2.HashPrefixRealTimeCheck",
-      /*expected_count=*/1);
+      /*expected_count=*/is_using_async_checks ? 0 : 1);
   histogram_tester.ExpectTotalCount(
       "SafeBrowsing.BrowserThrottle.TotalDelay2.HashPrefixDatabaseCheck",
-      /*expected_count=*/0);
+      /*expected_count=*/is_using_async_checks ? 1 : 0);
   histogram_tester.ExpectUniqueSample(
       "SafeBrowsing.HPRT.Ineligible.IneligibleForSessionOrLocation",
       /*sample=*/false,
@@ -4083,7 +4117,7 @@
       "interstitial.phishing.decision.from_hash_prefix_real_time_check_v5",
       /*expected_count=*/0);
 }
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageHashRealTimeCheckFeatureOffTest,
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageHashRealTimeCheckFeatureOffTest,
                        DontShowWarning_FeatureIsOff) {
   base::HistogramTester histogram_tester;
   SetUpAndNavigateToUrl(/*is_unsafe=*/true);
@@ -4102,7 +4136,7 @@
       "interstitial.phishing.decision.from_hash_prefix_real_time_check_v5",
       /*expected_count=*/0);
 }
-IN_PROC_BROWSER_TEST_F(SafeBrowsingBlockingPageHashRealTimeCheckTest,
+IN_PROC_BROWSER_TEST_P(SafeBrowsingBlockingPageHashRealTimeCheckTest,
                        TriggerHitReportAndClientSafeBrowsingReportRequest) {
   SetExtendedReportingPrefForTests(browser()->profile()->GetPrefs(), true);
   SetUpAndNavigateToUrl(/*is_unsafe=*/true);
diff --git a/chrome/browser/smart_card/BUILD.gn b/chrome/browser/smart_card/BUILD.gn
index c1d8a9ef..db70716 100644
--- a/chrome/browser/smart_card/BUILD.gn
+++ b/chrome/browser/smart_card/BUILD.gn
@@ -11,18 +11,8 @@
       "chromeos_smart_card_delegate.h",
       "get_smart_card_context_factory.cc",
       "get_smart_card_context_factory.h",
-      "smart_card_permission_context.cc",
-      "smart_card_permission_context.h",
-      "smart_card_permission_context_factory.cc",
-      "smart_card_permission_context_factory.h",
       "smart_card_permission_request.cc",
       "smart_card_permission_request.h",
-      "smart_card_reader_tracker.cc",
-      "smart_card_reader_tracker.h",
-      "smart_card_reader_tracker_factory.cc",
-      "smart_card_reader_tracker_factory.h",
-      "smart_card_reader_tracker_impl.cc",
-      "smart_card_reader_tracker_impl.h",
     ]
 
     if (!is_chromeos_device) {
@@ -38,7 +28,6 @@
 
     deps = [
       "//chrome/browser/chromeos/extensions/smart_card_provider_private",
-      "//chrome/browser/permissions",
       "//chrome/browser/profiles:profile",
       "//components/permissions",
       "//components/strings:components_strings_grit",
@@ -46,37 +35,4 @@
     ]
   }
   # TODO(crbug.com/1386175): Add chrome_smart_card_delegate.* for Win/Mac/Linux
-  # and move smart_card_* out of the is_chromeos guard.
 }
-
-if (is_chromeos) {
-  source_set("unit_tests") {
-    testonly = true
-    sources = [ "smart_card_permission_context_unittest.cc" ]
-    deps = [
-      ":smart_card",
-      "//chrome/browser/permissions",
-      "//chrome/test:test_support",
-      "//testing/gmock",
-      "//testing/gtest",
-    ]
-  }
-
-  source_set("interactive_ui_tests") {
-    testonly = true
-
-    # From test("interactive_ui_tests")
-    defines = [ "HAS_OUT_OF_PROC_TEST_RUNNER" ]
-
-    sources = [ "smart_card_permission_uitest.cc" ]
-    deps = [
-      ":smart_card",
-      "//chrome/browser",
-      "//chrome/browser/profiles:profile",
-      "//chrome/browser/ui",
-      "//chrome/test:test_support_ui",
-      "//components/permissions:permissions_common",
-      "//content/test:test_support",
-    ]
-  }
-}  # is_chromeos
diff --git a/chrome/browser/smart_card/DEPS b/chrome/browser/smart_card/DEPS
deleted file mode 100644
index f85c9b9..0000000
--- a/chrome/browser/smart_card/DEPS
+++ /dev/null
@@ -1,6 +0,0 @@
-# UI tests need to know details of the relevant UI under test.
-specific_include_rules = {
-  ".*_uitest\.cc": [
-    "+chrome/browser/ui/views",
-  ],
-}
diff --git a/chrome/browser/smart_card/chromeos_smart_card_delegate.cc b/chrome/browser/smart_card/chromeos_smart_card_delegate.cc
index c794d67..02bdce25 100644
--- a/chrome/browser/smart_card/chromeos_smart_card_delegate.cc
+++ b/chrome/browser/smart_card/chromeos_smart_card_delegate.cc
@@ -3,13 +3,12 @@
 // found in the LICENSE file.
 
 #include "chrome/browser/smart_card/chromeos_smart_card_delegate.h"
-
-#include "base/check_deref.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/smart_card/get_smart_card_context_factory.h"
-#include "chrome/browser/smart_card/smart_card_permission_context.h"
-#include "chrome/browser/smart_card/smart_card_permission_context_factory.h"
+#include "chrome/browser/smart_card/smart_card_permission_request.h"
+#include "components/permissions/permission_request_manager.h"
 #include "content/public/browser/render_frame_host.h"
+#include "content/public/browser/web_contents.h"
 
 ChromeOsSmartCardDelegate::ChromeOsSmartCardDelegate() = default;
 ChromeOsSmartCardDelegate::~ChromeOsSmartCardDelegate() = default;
@@ -23,26 +22,57 @@
 bool ChromeOsSmartCardDelegate::HasReaderPermission(
     content::RenderFrameHost& render_frame_host,
     const std::string& reader_name) {
-  auto& profile = CHECK_DEREF(
-      Profile::FromBrowserContext(render_frame_host.GetBrowserContext()));
-
-  auto& permission_context =
-      SmartCardPermissionContextFactory::GetForProfile(profile);
-
-  return permission_context.HasReaderPermission(render_frame_host, reader_name);
+  // TODO(crbug.com/1386175): Ask permission context.
+  return false;  // Asks every time
 }
 
 void ChromeOsSmartCardDelegate::RequestReaderPermission(
     content::RenderFrameHost& render_frame_host,
     const std::string& reader_name,
     RequestReaderPermissionCallback callback) {
-  auto& profile = CHECK_DEREF(
-      Profile::FromBrowserContext(render_frame_host.GetBrowserContext()));
+  const url::Origin& origin =
+      render_frame_host.GetMainFrame()->GetLastCommittedOrigin();
 
-  auto& permission_context =
-      SmartCardPermissionContextFactory::GetForProfile(profile);
+  auto* web_contents =
+      content::WebContents::FromRenderFrameHost(&render_frame_host);
 
-  permission_context.RequestReaderPermisssion(render_frame_host, reader_name,
-                                              std::move(callback));
+  permissions::PermissionRequestManager* permission_request_manager =
+      permissions::PermissionRequestManager::FromWebContents(web_contents);
+  if (!permission_request_manager) {
+    LOG(ERROR) << "Cannot request permission: no PermissionRequestManager";
+    std::move(callback).Run(false);
+    return;
+  }
+
+  // Regarding ownership: The request will delete itself once the request
+  // manager notifies that it can do so.
+  auto* permission_request = new SmartCardPermissionRequest(
+      origin, reader_name,
+      base::BindOnce(&ChromeOsSmartCardDelegate::OnPermissionRequestDecided,
+                     weak_factory_.GetWeakPtr(), origin, reader_name,
+                     std::move(callback)));
+
+  permission_request_manager->AddRequest(&render_frame_host,
+                                         permission_request);
 }
 
+void ChromeOsSmartCardDelegate::OnPermissionRequestDecided(
+    const url::Origin& origin,
+    const std::string& reader_name,
+    RequestReaderPermissionCallback callback,
+    SmartCardPermissionRequest::Result result) {
+  switch (result) {
+    case SmartCardPermissionRequest::Result::kAllowOnce:
+      // TODO(crbug.com/1386175): Set ephemeral grant in permission context.
+      std::move(callback).Run(true);
+      break;
+    case SmartCardPermissionRequest::Result::kAllowAlways:
+      // TODO(crbug.com/1386175): Set persistent grant in permission context.
+      std::move(callback).Run(true);
+      break;
+    case SmartCardPermissionRequest::Result::kDontAllow:
+      // There's no block list. Origin is free to request again.
+      std::move(callback).Run(false);
+      break;
+  }
+}
diff --git a/chrome/browser/smart_card/chromeos_smart_card_delegate.h b/chrome/browser/smart_card/chromeos_smart_card_delegate.h
index d505630a..5bb1a38 100644
--- a/chrome/browser/smart_card/chromeos_smart_card_delegate.h
+++ b/chrome/browser/smart_card/chromeos_smart_card_delegate.h
@@ -6,6 +6,7 @@
 #define CHROME_BROWSER_SMART_CARD_CHROMEOS_SMART_CARD_DELEGATE_H_
 
 #include "base/memory/weak_ptr.h"
+#include "chrome/browser/smart_card/smart_card_permission_request.h"
 #include "content/public/browser/smart_card_delegate.h"
 
 class ChromeOsSmartCardDelegate : public content::SmartCardDelegate {
@@ -22,6 +23,14 @@
       content::RenderFrameHost& render_frame_host,
       const std::string& reader_name,
       RequestReaderPermissionCallback callback) override;
+
+ private:
+  void OnPermissionRequestDecided(const url::Origin& origin,
+                                  const std::string& reader_name,
+                                  RequestReaderPermissionCallback callback,
+                                  SmartCardPermissionRequest::Result result);
+
+  base::WeakPtrFactory<ChromeOsSmartCardDelegate> weak_factory_{this};
 };
 
 #endif  // CHROME_BROWSER_SMART_CARD_CHROMEOS_SMART_CARD_DELEGATE_H_
diff --git a/chrome/browser/smart_card/smart_card_permission_context.cc b/chrome/browser/smart_card/smart_card_permission_context.cc
deleted file mode 100644
index ac9bbf02..0000000
--- a/chrome/browser/smart_card/smart_card_permission_context.cc
+++ /dev/null
@@ -1,337 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/smart_card/smart_card_permission_context.h"
-
-#include "base/power_monitor/power_monitor.h"
-#include "base/power_monitor/power_observer.h"
-#include "base/scoped_observation.h"
-#include "base/strings/utf_string_conversions.h"
-#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
-#include "chrome/browser/permissions/one_time_permissions_tracker.h"
-#include "chrome/browser/permissions/one_time_permissions_tracker_factory.h"
-#include "chrome/browser/permissions/one_time_permissions_tracker_observer.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/smart_card/smart_card_reader_tracker.h"
-#include "chrome/browser/smart_card/smart_card_reader_tracker_factory.h"
-#include "components/content_settings/core/common/content_settings_types.h"
-#include "components/permissions/permission_request_manager.h"
-#include "content/public/browser/render_frame_host.h"
-#include "content/public/browser/web_contents.h"
-
-namespace {
-constexpr char kReaderNameKey[] = "reader-name";
-
-static base::Value::Dict ReaderNameToValue(const std::string& reader_name) {
-  base::Value::Dict value;
-  value.Set(kReaderNameKey, reader_name);
-  return value;
-}
-
-}  // anonymous namespace
-
-class SmartCardPermissionContext::OneTimeObserver
-    : public OneTimePermissionsTrackerObserver {
- public:
-  explicit OneTimeObserver(SmartCardPermissionContext& permission_context)
-      : permission_context_(permission_context) {
-    observation_.Observe(OneTimePermissionsTrackerFactory::GetForBrowserContext(
-        &permission_context.profile_.get()));
-  }
-  void OnLastPageFromOriginClosed(const url::Origin& origin) override {
-    permission_context_->RevokeEphemeralPermissionsForOrigin(origin);
-  }
-
- private:
-  base::ScopedObservation<OneTimePermissionsTracker,
-                          OneTimePermissionsTrackerObserver>
-      observation_{this};
-  base::raw_ref<SmartCardPermissionContext> permission_context_;
-};
-
-class SmartCardPermissionContext::PowerSuspendObserver
-    : public base::PowerSuspendObserver {
- public:
-  explicit PowerSuspendObserver(SmartCardPermissionContext& permission_context)
-      : permission_context_(permission_context) {
-    base::PowerMonitor::AddPowerSuspendObserver(this);
-  }
-
-  ~PowerSuspendObserver() override {
-    base::PowerMonitor::RemovePowerSuspendObserver(this);
-  }
-
-  void OnSuspend() override {
-    permission_context_->RevokeEphemeralPermissions();
-  }
-
- private:
-  base::raw_ref<SmartCardPermissionContext> permission_context_;
-};
-
-class SmartCardPermissionContext::ReaderObserver
-    : public SmartCardReaderTracker::Observer {
- public:
-  explicit ReaderObserver(SmartCardPermissionContext& permission_context)
-      : permission_context_(permission_context) {}
-
-  void Reset(std::vector<SmartCardReaderTracker::ReaderInfo> info_list) {
-    known_info_map_.clear();
-    for (SmartCardReaderTracker::ReaderInfo& info : info_list) {
-      std::string name = info.name;
-      known_info_map_.emplace(std::move(name), std::move(info));
-    }
-  }
-
-  void OnReaderRemoved(const std::string& reader_name) override {
-    known_info_map_.erase(reader_name);
-    permission_context_->RevokeEphemeralPermissionsForReader(reader_name);
-  }
-
-  void OnReaderChanged(
-      const SmartCardReaderTracker::ReaderInfo& reader_info) override {
-    // Compare the new reader state with its previous one to find out whether
-    // its card has been removed. If so, notify the PermissionContext.
-
-    if (!known_info_map_.contains(reader_info.name)) {
-      known_info_map_.emplace(reader_info.name, reader_info);
-      return;
-    }
-
-    auto it = known_info_map_.find(reader_info.name);
-    SmartCardReaderTracker::ReaderInfo& known_info = it->second;
-
-    // Either the card was removed or there was both a removal and an insertion
-    // in the meantime (meaning that reader_info.present could still be true).
-    // Note that event_count is not supported in all platforms.
-    const bool card_removed =
-        known_info.present &&
-        (!reader_info.present ||
-         (known_info.event_count < reader_info.event_count));
-
-    // Update known_info.
-    known_info = reader_info;
-
-    if (card_removed) {
-      permission_context_->RevokeEphemeralPermissionsForReader(
-          reader_info.name);
-    }
-  }
-
-  std::map<std::string, SmartCardReaderTracker::ReaderInfo> known_info_map_;
-  base::raw_ref<SmartCardPermissionContext> permission_context_;
-};
-
-SmartCardPermissionContext::SmartCardPermissionContext(Profile* profile)
-    : ObjectPermissionContextBase(
-          ContentSettingsType::SMART_CARD_GUARD,
-          ContentSettingsType::SMART_CARD_DATA,
-          HostContentSettingsMapFactory::GetForProfile(profile)),
-      reader_observer_(std::make_unique<ReaderObserver>(*this)),
-      profile_(*profile),
-      weak_ptr_factory_(this) {}
-
-SmartCardPermissionContext::~SmartCardPermissionContext() = default;
-
-std::string SmartCardPermissionContext::GetKeyForObject(
-    const base::Value::Dict& object) {
-  if (!IsValidObject(object)) {
-    return std::string();
-  }
-
-  return *object.FindString(kReaderNameKey);
-}
-
-bool SmartCardPermissionContext::HasReaderPermission(
-    content::RenderFrameHost& render_frame_host,
-    const std::string& reader_name) {
-  return HasReaderPermission(
-      render_frame_host.GetMainFrame()->GetLastCommittedOrigin(), reader_name);
-}
-
-bool SmartCardPermissionContext::HasReaderPermission(
-    const url::Origin& origin,
-    const std::string& reader_name) {
-  if (!CanRequestObjectPermission(origin)) {
-    return false;
-  }
-
-  return ephemeral_grants_[origin].contains(reader_name) ||
-         HasPersistentReaderPermission(origin, reader_name);
-}
-
-void SmartCardPermissionContext::RequestReaderPermisssion(
-    content::RenderFrameHost& render_frame_host,
-    const std::string& reader_name,
-    RequestReaderPermissionCallback callback) {
-  const url::Origin& origin =
-      render_frame_host.GetMainFrame()->GetLastCommittedOrigin();
-
-  auto* web_contents =
-      content::WebContents::FromRenderFrameHost(&render_frame_host);
-
-  permissions::PermissionRequestManager* permission_request_manager =
-      permissions::PermissionRequestManager::FromWebContents(web_contents);
-  if (!permission_request_manager) {
-    LOG(ERROR) << "Cannot request permission: no PermissionRequestManager";
-    std::move(callback).Run(false);
-    return;
-  }
-
-  if (!CanRequestObjectPermission(origin)) {
-    std::move(callback).Run(false);
-    return;
-  }
-
-  // Regarding ownership: The request will delete itself once the request
-  // manager notifies that it can do so.
-  auto* permission_request = new SmartCardPermissionRequest(
-      origin, reader_name,
-      base::BindOnce(&SmartCardPermissionContext::OnPermissionRequestDecided,
-                     weak_ptr_factory_.GetWeakPtr(), origin, reader_name,
-                     std::move(callback)));
-
-  permission_request_manager->AddRequest(&render_frame_host,
-                                         permission_request);
-}
-
-void SmartCardPermissionContext::GrantEphemeralReaderPermission(
-    const url::Origin& origin,
-    const std::string& reader_name) {
-  CHECK(!HasReaderPermission(origin, reader_name));
-  ephemeral_grants_[origin].insert(reader_name);
-
-  if (!power_suspend_observer_) {
-    power_suspend_observer_ = std::make_unique<PowerSuspendObserver>(*this);
-  }
-
-  if (!one_time_observer_) {
-    one_time_observer_ = std::make_unique<OneTimeObserver>(*this);
-  }
-
-  GetReaderTracker().Start(
-      reader_observer_.get(),
-      base::BindOnce(&SmartCardPermissionContext::OnTrackingStarted,
-                     weak_ptr_factory_.GetWeakPtr()));
-}
-
-void SmartCardPermissionContext::GrantPersistentReaderPermission(
-    const url::Origin& origin,
-    const std::string& reader_name) {
-  CHECK(!HasReaderPermission(origin, reader_name));
-  GrantObjectPermission(origin, ReaderNameToValue(reader_name));
-}
-
-bool SmartCardPermissionContext::IsValidObject(
-    const base::Value::Dict& object) {
-  if (object.size() != 1) {
-    return false;
-  }
-
-  const std::string* reader_name = object.FindString(kReaderNameKey);
-  return reader_name && !reader_name->empty();
-}
-
-std::u16string SmartCardPermissionContext::GetObjectDisplayName(
-    const base::Value::Dict& object) {
-  const std::string* reader_name = object.FindString(kReaderNameKey);
-  CHECK(reader_name);
-  return base::UTF8ToUTF16(*reader_name);
-}
-
-bool SmartCardPermissionContext::HasPersistentReaderPermission(
-    const url::Origin& origin,
-    const std::string& reader_name) {
-  for (const auto& object :
-       ObjectPermissionContextBase::GetGrantedObjects(origin)) {
-    const base::Value::Dict& reader_value = object->value;
-
-    // Objects provided by the parent class can be assumed valid.
-    CHECK(IsValidObject(reader_value));
-
-    if (reader_name != *reader_value.FindString(kReaderNameKey)) {
-      continue;
-    }
-
-    return true;
-  }
-  return false;
-}
-
-void SmartCardPermissionContext::RevokeEphemeralPermissionsForReader(
-    const std::string& reader_name) {
-  for (auto it = ephemeral_grants_.begin(); it != ephemeral_grants_.end();) {
-    std::set<std::string>& reader_set = it->second;
-
-    reader_set.erase(reader_name);
-
-    if (reader_set.empty()) {
-      it = ephemeral_grants_.erase(it);
-    } else {
-      ++it;
-    }
-  }
-
-  if (ephemeral_grants_.empty()) {
-    StopObserving();
-  }
-}
-
-void SmartCardPermissionContext::RevokeEphemeralPermissionsForOrigin(
-    const url::Origin& origin) {
-  ephemeral_grants_.erase(origin);
-
-  if (ephemeral_grants_.empty()) {
-    StopObserving();
-  }
-}
-
-void SmartCardPermissionContext::RevokeEphemeralPermissions() {
-  if (ephemeral_grants_.empty()) {
-    return;
-  }
-
-  ephemeral_grants_.clear();
-  StopObserving();
-}
-
-void SmartCardPermissionContext::OnTrackingStarted(
-    std::optional<std::vector<SmartCardReaderTracker::ReaderInfo>> info_list) {
-  if (!info_list) {
-    // PC/SC failed on us.
-    LOG(ERROR) << "Failed to start reader tracking.";
-    return;
-  }
-  reader_observer_->Reset(std::move(*info_list));
-}
-
-void SmartCardPermissionContext::StopObserving() {
-  GetReaderTracker().Stop(reader_observer_.get());
-  one_time_observer_.reset();
-  power_suspend_observer_.reset();
-}
-
-SmartCardReaderTracker& SmartCardPermissionContext::GetReaderTracker() const {
-  return SmartCardReaderTrackerFactory::GetForProfile(*profile_);
-}
-
-void SmartCardPermissionContext::OnPermissionRequestDecided(
-    const url::Origin& origin,
-    const std::string& reader_name,
-    RequestReaderPermissionCallback callback,
-    SmartCardPermissionRequest::Result result) {
-  switch (result) {
-    case SmartCardPermissionRequest::Result::kAllowOnce:
-      GrantEphemeralReaderPermission(origin, reader_name);
-      std::move(callback).Run(true);
-      break;
-    case SmartCardPermissionRequest::Result::kAllowAlways:
-      GrantPersistentReaderPermission(origin, reader_name);
-      std::move(callback).Run(true);
-      break;
-    case SmartCardPermissionRequest::Result::kDontAllow:
-      std::move(callback).Run(false);
-      break;
-  }
-}
diff --git a/chrome/browser/smart_card/smart_card_permission_context.h b/chrome/browser/smart_card/smart_card_permission_context.h
deleted file mode 100644
index de3fe39..0000000
--- a/chrome/browser/smart_card/smart_card_permission_context.h
+++ /dev/null
@@ -1,98 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_SMART_CARD_SMART_CARD_PERMISSION_CONTEXT_H_
-#define CHROME_BROWSER_SMART_CARD_SMART_CARD_PERMISSION_CONTEXT_H_
-
-#include <map>
-#include <set>
-
-#include "base/memory/raw_ref.h"
-#include "base/memory/weak_ptr.h"
-#include "chrome/browser/smart_card/smart_card_permission_request.h"
-#include "chrome/browser/smart_card/smart_card_reader_tracker.h"
-#include "components/permissions/object_permission_context_base.h"
-#include "url/origin.h"
-
-class Profile;
-
-namespace content {
-class RenderFrameHost;
-}
-
-class SmartCardPermissionContext
-    : public permissions::ObjectPermissionContextBase {
- public:
-  // Callback type to report whether the user allowed the connection request.
-  using RequestReaderPermissionCallback = base::OnceCallback<void(bool)>;
-
-  explicit SmartCardPermissionContext(Profile* profile);
-  SmartCardPermissionContext(const SmartCardPermissionContext&) = delete;
-  SmartCardPermissionContext& operator=(const SmartCardPermissionContext&) =
-      delete;
-  ~SmartCardPermissionContext() override;
-
-  bool HasReaderPermission(content::RenderFrameHost& render_frame_host,
-                           const std::string& reader_name);
-
-  void RequestReaderPermisssion(content::RenderFrameHost& render_frame_host,
-                                const std::string& reader_name,
-                                RequestReaderPermissionCallback callback);
-
-  // permissions::ObjectPermissionContextBase:
-  std::string GetKeyForObject(const base::Value::Dict& object) override;
-  bool IsValidObject(const base::Value::Dict& object) override;
-  std::u16string GetObjectDisplayName(const base::Value::Dict& object) override;
-
-  void RevokeEphemeralPermissions();
-
- private:
-  friend class SmartCardPermissionContextTest;
-
-  class OneTimeObserver;
-  class PowerSuspendObserver;
-  class ReaderObserver;
-
-  bool HasReaderPermission(const url::Origin& origin,
-                           const std::string& reader_name);
-
-  // The given permission won't be persisted.
-  void GrantEphemeralReaderPermission(const url::Origin& origin,
-                                      const std::string& reader_name);
-
-  void GrantPersistentReaderPermission(const url::Origin& origin,
-                                       const std::string& reader_name);
-
-  bool HasPersistentReaderPermission(const url::Origin& origin,
-                                     const std::string& reader_name);
-
-  void RevokeEphemeralPermissionsForReader(const std::string& reader_name);
-  void RevokeEphemeralPermissionsForOrigin(const url::Origin& origin);
-
-  void OnTrackingStarted(
-      std::optional<std::vector<SmartCardReaderTracker::ReaderInfo>>);
-
-  void StopObserving();
-
-  void OnPermissionRequestDecided(const url::Origin& origin,
-                                  const std::string& reader_name,
-                                  RequestReaderPermissionCallback callback,
-                                  SmartCardPermissionRequest::Result result);
-
-  SmartCardReaderTracker& GetReaderTracker() const;
-
-  // Set of readers to which an origin has ephemeral access to.
-  std::map<url::Origin, std::set<std::string>> ephemeral_grants_;
-
-  std::unique_ptr<OneTimeObserver> one_time_observer_;
-  std::unique_ptr<PowerSuspendObserver> power_suspend_observer_;
-  std::unique_ptr<ReaderObserver> reader_observer_;
-
-  // Instance is owned by this profile.
-  base::raw_ref<Profile> profile_;
-
-  base::WeakPtrFactory<SmartCardPermissionContext> weak_ptr_factory_;
-};
-
-#endif  // CHROME_BROWSER_SMART_CARD_SMART_CARD_PERMISSION_CONTEXT_H_
diff --git a/chrome/browser/smart_card/smart_card_permission_context_factory.cc b/chrome/browser/smart_card/smart_card_permission_context_factory.cc
deleted file mode 100644
index 69ca0f4..0000000
--- a/chrome/browser/smart_card/smart_card_permission_context_factory.cc
+++ /dev/null
@@ -1,47 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/smart_card/smart_card_permission_context_factory.h"
-
-#include "base/check_deref.h"
-#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
-#include "chrome/browser/permissions/one_time_permissions_tracker_factory.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/smart_card/smart_card_permission_context.h"
-#include "chrome/browser/smart_card/smart_card_reader_tracker_factory.h"
-
-// static
-SmartCardPermissionContextFactory*
-SmartCardPermissionContextFactory::GetInstance() {
-  static base::NoDestructor<SmartCardPermissionContextFactory> factory;
-  return factory.get();
-}
-
-// static
-SmartCardPermissionContext& SmartCardPermissionContextFactory::GetForProfile(
-    Profile& profile) {
-  return CHECK_DEREF(static_cast<SmartCardPermissionContext*>(
-      GetInstance()->GetServiceForBrowserContext(&profile, true)));
-}
-
-SmartCardPermissionContextFactory::SmartCardPermissionContextFactory()
-    : ProfileKeyedServiceFactory(
-          "SmartCardPermissionContext",
-          ProfileSelections::Builder()
-              .WithRegular(ProfileSelection::kOwnInstance)
-              .Build()) {
-  DependsOn(HostContentSettingsMapFactory::GetInstance());
-  DependsOn(OneTimePermissionsTrackerFactory::GetInstance());
-  DependsOn(SmartCardReaderTrackerFactory::GetInstance());
-}
-
-SmartCardPermissionContextFactory::~SmartCardPermissionContextFactory() =
-    default;
-
-std::unique_ptr<KeyedService>
-SmartCardPermissionContextFactory::BuildServiceInstanceForBrowserContext(
-    content::BrowserContext* context) const {
-  return std::make_unique<SmartCardPermissionContext>(
-      Profile::FromBrowserContext(context));
-}
diff --git a/chrome/browser/smart_card/smart_card_permission_context_factory.h b/chrome/browser/smart_card/smart_card_permission_context_factory.h
deleted file mode 100644
index 6548a2b7..0000000
--- a/chrome/browser/smart_card/smart_card_permission_context_factory.h
+++ /dev/null
@@ -1,34 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_SMART_CARD_SMART_CARD_PERMISSION_CONTEXT_FACTORY_H_
-#define CHROME_BROWSER_SMART_CARD_SMART_CARD_PERMISSION_CONTEXT_FACTORY_H_
-
-#include "base/no_destructor.h"
-#include "chrome/browser/profiles/profile_keyed_service_factory.h"
-
-class SmartCardPermissionContext;
-
-class SmartCardPermissionContextFactory : public ProfileKeyedServiceFactory {
- public:
-  static SmartCardPermissionContext& GetForProfile(Profile& profile);
-  static SmartCardPermissionContextFactory* GetInstance();
-
-  SmartCardPermissionContextFactory(const SmartCardPermissionContextFactory&) =
-      delete;
-  SmartCardPermissionContextFactory& operator=(
-      const SmartCardPermissionContextFactory&) = delete;
-
- private:
-  friend base::NoDestructor<SmartCardPermissionContextFactory>;
-
-  SmartCardPermissionContextFactory();
-  ~SmartCardPermissionContextFactory() override;
-
-  // BrowserContextKeyedServiceFactory:
-  std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
-      content::BrowserContext* profile) const override;
-};
-
-#endif  // CHROME_BROWSER_SMART_CARD_SMART_CARD_PERMISSION_CONTEXT_FACTORY_H_
diff --git a/chrome/browser/smart_card/smart_card_permission_context_unittest.cc b/chrome/browser/smart_card/smart_card_permission_context_unittest.cc
deleted file mode 100644
index d92977c..0000000
--- a/chrome/browser/smart_card/smart_card_permission_context_unittest.cc
+++ /dev/null
@@ -1,281 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/smart_card/smart_card_permission_context.h"
-
-#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
-#include "chrome/browser/permissions/one_time_permissions_tracker.h"
-#include "chrome/browser/permissions/one_time_permissions_tracker_factory.h"
-#include "chrome/browser/smart_card/smart_card_reader_tracker.h"
-#include "chrome/browser/smart_card/smart_card_reader_tracker_factory.h"
-#include "chrome/test/base/testing_profile.h"
-#include "components/content_settings/core/browser/host_content_settings_map.h"
-#include "components/content_settings/core/common/content_settings_types.h"
-#include "content/public/test/browser_task_environment.h"
-#include "testing/gmock/include/gmock/gmock.h"
-#include "testing/gtest/include/gtest/gtest.h"
-
-using testing::InSequence;
-using testing::StrictMock;
-
-namespace {
-
-constexpr char kDummyReader[] = "dummy reader";
-
-class FakeOneTimePermissionsTracker : public OneTimePermissionsTracker {
- public:
-  using OneTimePermissionsTracker::NotifyLastPageFromOriginClosed;
-};
-
-class FakeSmartCardReaderTracker : public SmartCardReaderTracker {
- public:
-  void Start(Observer* observer, StartCallback callback) override {
-    observers_.AddObserverIfMissing(observer);
-
-    std::vector<ReaderInfo> reader_list;
-    reader_list.reserve(info_map_.size());
-
-    for (const auto& [_, info] : info_map_) {
-      reader_list.push_back(info);
-    }
-
-    std::move(callback).Run(std::move(reader_list));
-  }
-
-  void Stop(Observer* observer) override {
-    observers_.RemoveObserver(observer);
-  }
-
-  void AddReader(ReaderInfo info) {
-    CHECK(!info_map_.contains(info.name));
-    std::string name = info.name;
-    info_map_.emplace(std::move(name), std::move(info));
-  }
-
-  void AddReaderWithCard(const std::string& name) {
-    ReaderInfo info;
-    info.name = name;
-    info.present = true;
-    info.event_count = 1;
-    AddReader(std::move(info));
-  }
-
-  void RemoveCard(const std::string& reader_name) {
-    auto it = info_map_.find(reader_name);
-    CHECK(it != info_map_.end());
-
-    ReaderInfo& info = it->second;
-
-    CHECK(info.present);
-    CHECK(!info.empty);
-
-    info.present = false;
-    info.empty = true;
-    ++info.event_count;
-
-    observers_.NotifyReaderChanged(info);
-  }
-
-  void RemoveReader(const std::string& reader_name) {
-    auto it = info_map_.find(reader_name);
-    CHECK(it != info_map_.end());
-
-    info_map_.erase(it);
-
-    observers_.NotifyReaderRemoved(reader_name);
-  }
-
-  bool HasObservers() const { return !observers_.empty(); }
-
- private:
-  ObserverList observers_;
-  std::map<std::string, ReaderInfo> info_map_;
-};
-
-}  // namespace
-
-class SmartCardPermissionContextTest : public testing::Test {
- protected:
-  void SetUp() override {
-    SmartCardReaderTrackerFactory::GetInstance()->SetTestingFactory(
-        &profile_,
-        base::BindRepeating(
-            &SmartCardPermissionContextTest::CreateFakeSmartCardReaderTracker,
-            base::Unretained(this)));
-
-    OneTimePermissionsTrackerFactory::GetInstance()->SetTestingFactory(
-        &profile_, base::BindRepeating(&SmartCardPermissionContextTest::
-                                           CreateFakeOneTimePermissionsTracker,
-                                       base::Unretained(this)));
-  }
-
-  bool HasReaderPermission(SmartCardPermissionContext& context,
-                           const url::Origin& origin,
-                           const std::string& reader_name) {
-    return context.HasReaderPermission(origin, reader_name);
-  }
-
-  void GrantEphemeralReaderPermission(SmartCardPermissionContext& context,
-                                      const url::Origin& origin,
-                                      const std::string& reader_name) {
-    return context.GrantEphemeralReaderPermission(origin, reader_name);
-  }
-
-  void GrantPersistentReaderPermission(SmartCardPermissionContext& context,
-                                       const url::Origin& origin,
-                                       const std::string& reader_name) {
-    return context.GrantPersistentReaderPermission(origin, reader_name);
-  }
-
-  std::unique_ptr<KeyedService> CreateFakeSmartCardReaderTracker(
-      content::BrowserContext* context) {
-    CHECK_EQ(context, &profile_);
-
-    return std::make_unique<StrictMock<FakeSmartCardReaderTracker>>();
-  }
-
-  std::unique_ptr<KeyedService> CreateFakeOneTimePermissionsTracker(
-      content::BrowserContext* context) {
-    CHECK_EQ(context, &profile_);
-
-    return std::make_unique<FakeOneTimePermissionsTracker>();
-  }
-
-  content::BrowserTaskEnvironment task_environment_;
-  TestingProfile profile_;
-};
-
-TEST_F(SmartCardPermissionContextTest, GrantEphemeralReaderPermission) {
-  auto& reader_tracker = static_cast<FakeSmartCardReaderTracker&>(
-      SmartCardReaderTrackerFactory::GetForProfile(profile_));
-
-  reader_tracker.AddReaderWithCard(kDummyReader);
-
-  auto foo_origin = url::Origin::Create(GURL("https://foo.com/"));
-
-  SmartCardPermissionContext permission_context(&profile_);
-
-  EXPECT_FALSE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-  EXPECT_FALSE(reader_tracker.HasObservers());
-
-  GrantEphemeralReaderPermission(permission_context, foo_origin, kDummyReader);
-
-  EXPECT_TRUE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-  EXPECT_TRUE(reader_tracker.HasObservers());
-}
-
-TEST_F(SmartCardPermissionContextTest,
-       RevokeEphemeralPermissionWhenCardRemoved) {
-  auto& reader_tracker = static_cast<FakeSmartCardReaderTracker&>(
-      SmartCardReaderTrackerFactory::GetForProfile(profile_));
-  reader_tracker.AddReaderWithCard(kDummyReader);
-
-  auto foo_origin = url::Origin::Create(GURL("https://foo.com/"));
-
-  SmartCardPermissionContext permission_context(&profile_);
-
-  GrantEphemeralReaderPermission(permission_context, foo_origin, kDummyReader);
-
-  ASSERT_TRUE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-  ASSERT_TRUE(reader_tracker.HasObservers());
-
-  reader_tracker.RemoveCard(kDummyReader);
-
-  // The ephemeral permission should have been revoked.
-  EXPECT_FALSE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-  EXPECT_FALSE(reader_tracker.HasObservers());
-}
-
-TEST_F(SmartCardPermissionContextTest,
-       RevokeEphemeralPermissionWhenReaderRemoved) {
-  auto& reader_tracker = static_cast<FakeSmartCardReaderTracker&>(
-      SmartCardReaderTrackerFactory::GetForProfile(profile_));
-  reader_tracker.AddReaderWithCard(kDummyReader);
-
-  auto foo_origin = url::Origin::Create(GURL("https://foo.com/"));
-
-  SmartCardPermissionContext permission_context(&profile_);
-
-  GrantEphemeralReaderPermission(permission_context, foo_origin, kDummyReader);
-
-  ASSERT_TRUE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-  ASSERT_TRUE(reader_tracker.HasObservers());
-
-  reader_tracker.RemoveReader(kDummyReader);
-
-  // The ephemeral permission should have been revoked.
-  EXPECT_FALSE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-  EXPECT_FALSE(reader_tracker.HasObservers());
-}
-
-TEST_F(SmartCardPermissionContextTest, RevokeEphemeralPermissionWhenAppClosed) {
-  auto* one_time_tracker = static_cast<FakeOneTimePermissionsTracker*>(
-      OneTimePermissionsTrackerFactory::GetForBrowserContext(&profile_));
-
-  auto foo_origin = url::Origin::Create(GURL("https://foo.com/"));
-
-  SmartCardPermissionContext permission_context(&profile_);
-
-  GrantEphemeralReaderPermission(permission_context, foo_origin, kDummyReader);
-
-  ASSERT_TRUE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-
-  one_time_tracker->NotifyLastPageFromOriginClosed(foo_origin);
-
-  // The ephemeral permission should have been revoked.
-  EXPECT_FALSE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-}
-
-// Covers callers of this method such as the PowerSuspendObserver.
-TEST_F(SmartCardPermissionContextTest, RevokeEphemeralPermissions) {
-  auto foo_origin = url::Origin::Create(GURL("https://foo.com/"));
-
-  SmartCardPermissionContext permission_context(&profile_);
-
-  GrantEphemeralReaderPermission(permission_context, foo_origin, kDummyReader);
-
-  ASSERT_TRUE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-
-  permission_context.RevokeEphemeralPermissions();
-
-  EXPECT_FALSE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-}
-
-TEST_F(SmartCardPermissionContextTest, Blocked) {
-  auto foo_origin = url::Origin::Create(GURL("https://foo.com/"));
-
-  SmartCardPermissionContext permission_context(&profile_);
-
-  GrantPersistentReaderPermission(permission_context, foo_origin, kDummyReader);
-
-  EXPECT_TRUE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-
-  auto* settings_map = HostContentSettingsMapFactory::GetForProfile(&profile_);
-  settings_map->SetContentSettingDefaultScope(
-      foo_origin.GetURL(), GURL(), ContentSettingsType::SMART_CARD_GUARD,
-      ContentSetting::CONTENT_SETTING_BLOCK);
-
-  EXPECT_FALSE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-
-  settings_map->SetContentSettingDefaultScope(
-      foo_origin.GetURL(), GURL(), ContentSettingsType::SMART_CARD_GUARD,
-      ContentSetting::CONTENT_SETTING_DEFAULT);
-
-  EXPECT_TRUE(
-      HasReaderPermission(permission_context, foo_origin, kDummyReader));
-
-  permission_context.RevokeObjectPermissions(foo_origin);
-}
diff --git a/chrome/browser/smart_card/smart_card_permission_uitest.cc b/chrome/browser/smart_card/smart_card_permission_uitest.cc
deleted file mode 100644
index e1fe8088..0000000
--- a/chrome/browser/smart_card/smart_card_permission_uitest.cc
+++ /dev/null
@@ -1,161 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/chrome_content_browser_client.h"
-#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/smart_card/chromeos_smart_card_delegate.h"
-#include "chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.h"
-#include "chrome/test/interaction/interactive_browser_test.h"
-#include "chrome/test/interaction/webcontents_interaction_test_util.h"
-#include "components/content_settings/core/browser/host_content_settings_map.h"
-#include "components/permissions/features.h"
-#include "components/strings/grit/components_strings.h"
-#include "content/public/common/content_client.h"
-#include "content/public/test/browser_test.h"
-#include "net/dns/mock_host_resolver.h"
-#include "ui/base/l10n/l10n_util.h"
-
-namespace {
-DEFINE_LOCAL_ELEMENT_IDENTIFIER_VALUE(kTestTab);
-constexpr char kFooReader[] = "foo reader";
-
-DEFINE_LOCAL_STATE_IDENTIFIER_VALUE(
-    ui::test::PollingStateObserver<std::optional<bool>>,
-    kPermissionDecision);
-
-class SmartCardPermissionUiTest : public InteractiveBrowserTest {
- public:
-  void OnPermissionDecided(bool granted) {
-    CHECK_EQ(permission_decision_.has_value(), false);
-    permission_decision_ = granted;
-  }
-
-  auto CheckReaderPermission(bool has_permission) {
-    return CheckResult(
-        [this]() -> bool {
-          return GetSmartCardDelegate()->HasReaderPermission(GetMainFrameHost(),
-                                                             kFooReader);
-        },
-        has_permission);
-  }
-
-  auto RequestReaderPermission() {
-    return Do([this]() {
-      GetSmartCardDelegate()->RequestReaderPermission(
-          GetMainFrameHost(), kFooReader,
-          base::BindOnce(&SmartCardPermissionUiTest::OnPermissionDecided,
-                         base::Unretained(this)));
-    });
-  }
-
-  auto BlockPermission(const GURL& origin_url) {
-    return Do([this, origin_url]() {
-      auto* settings_map =
-          HostContentSettingsMapFactory::GetForProfile(browser()->profile());
-      settings_map->SetContentSettingDefaultScope(
-          origin_url, GURL(), ContentSettingsType::SMART_CARD_GUARD,
-          ContentSetting::CONTENT_SETTING_BLOCK);
-    });
-  }
-
-  auto PressButtonAndWaitResult(ui::ElementIdentifier button_id, bool granted) {
-    return Steps(PollState(kPermissionDecision,
-                           [this]() { return permission_decision(); }),
-                 FlushEvents(), PressButton(button_id),
-                 Log("Wait for the prompt to be hidden."),
-                 WaitForHide(PermissionPromptBubbleBaseView::kMainViewId),
-                 Log("Wait for the permission decision."),
-                 WaitForState(kPermissionDecision, granted));
-  }
-
-  std::optional<bool> permission_decision() { return permission_decision_; }
-
-  content::SmartCardDelegate* GetSmartCardDelegate() {
-    return content::GetContentClientForTesting()
-        ->browser()
-        ->GetSmartCardDelegate(browser()->profile());
-  }
-
-  content::RenderFrameHost& GetMainFrameHost() {
-    return *browser()
-                ->tab_strip_model()
-                ->GetActiveWebContents()
-                ->GetPrimaryMainFrame();
-  }
-
- private:
-  void SetUpOnMainThread() override {
-    InteractiveBrowserTest::SetUpOnMainThread();
-    host_resolver()->AddRule("*", "127.0.0.1");
-    ASSERT_TRUE(embedded_https_test_server().Start());
-  }
-
-  std::optional<bool> permission_decision_;
-
-  base::test::ScopedFeatureList scoped_feature_list_{
-      permissions::features::kOneTimePermission};
-};
-
-IN_PROC_BROWSER_TEST_F(SmartCardPermissionUiTest, AllowOnce) {
-  RunTestSequence(
-      InstrumentTab(kTestTab),
-      NavigateWebContents(kTestTab, embedded_https_test_server().GetURL(
-                                        "a.com", "/simple.html")),
-      CheckReaderPermission(/*has_permission=*/false),
-      RequestReaderPermission(),
-      WaitForShow(PermissionPromptBubbleBaseView::kMainViewId),
-      PressButtonAndWaitResult(
-          PermissionPromptBubbleBaseView::kAllowOnceButtonElementId,
-          /*granted=*/true),
-      CheckReaderPermission(/*has_permission=*/true));
-}
-
-IN_PROC_BROWSER_TEST_F(SmartCardPermissionUiTest, AllowAlways) {
-  RunTestSequence(
-      InstrumentTab(kTestTab),
-      NavigateWebContents(kTestTab, embedded_https_test_server().GetURL(
-                                        "a.com", "/simple.html")),
-      CheckReaderPermission(/*has_permission=*/false),
-      RequestReaderPermission(),
-      WaitForShow(PermissionPromptBubbleBaseView::kMainViewId),
-      CheckViewProperty(
-          PermissionPromptBubbleBaseView::kAllowButtonElementId,
-          &views::LabelButton::GetText,
-          l10n_util::GetStringUTF16(IDS_SMART_CARD_PERMISSION_ALWAYS_ALLOW)),
-      PressButtonAndWaitResult(
-          PermissionPromptBubbleBaseView::kAllowButtonElementId,
-          /*granted=*/true),
-      CheckReaderPermission(/*has_permission=*/true));
-}
-
-IN_PROC_BROWSER_TEST_F(SmartCardPermissionUiTest, Deny) {
-  RunTestSequence(
-      InstrumentTab(kTestTab),
-      NavigateWebContents(kTestTab, embedded_https_test_server().GetURL(
-                                        "a.com", "/simple.html")),
-      CheckReaderPermission(/*has_permission=*/false),
-      RequestReaderPermission(),
-      WaitForShow(PermissionPromptBubbleBaseView::kMainViewId),
-      PressButtonAndWaitResult(
-          PermissionPromptBubbleBaseView::kBlockButtonElementId,
-          /*granted=*/false),
-      CheckReaderPermission(/*has_permission=*/false));
-}
-
-IN_PROC_BROWSER_TEST_F(SmartCardPermissionUiTest, Blocked) {
-  auto simple_url =
-      embedded_https_test_server().GetURL("a.com", "/simple.html");
-  RunTestSequence(InstrumentTab(kTestTab),
-                  NavigateWebContents(kTestTab, simple_url),
-                  CheckReaderPermission(/*has_permission=*/false),
-                  BlockPermission(simple_url),
-                  PollState(kPermissionDecision,
-                            [this]() { return permission_decision(); }),
-                  RequestReaderPermission(),
-                  WaitForState(kPermissionDecision, /*granted=*/false),
-                  CheckReaderPermission(/*has_permission=*/false));
-}
-
-}  // anonymous namespace
diff --git a/chrome/browser/smart_card/smart_card_reader_tracker.cc b/chrome/browser/smart_card/smart_card_reader_tracker.cc
deleted file mode 100644
index 0278736..0000000
--- a/chrome/browser/smart_card/smart_card_reader_tracker.cc
+++ /dev/null
@@ -1,52 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/smart_card/smart_card_reader_tracker.h"
-
-SmartCardReaderTracker::ReaderInfo::ReaderInfo() = default;
-SmartCardReaderTracker::ReaderInfo::ReaderInfo(ReaderInfo&& other) = default;
-SmartCardReaderTracker::ReaderInfo::ReaderInfo(const ReaderInfo&) = default;
-SmartCardReaderTracker::ReaderInfo::~ReaderInfo() = default;
-
-SmartCardReaderTracker::ReaderInfo&
-SmartCardReaderTracker::ReaderInfo::operator=(
-    const SmartCardReaderTracker::ReaderInfo& other) = default;
-
-bool SmartCardReaderTracker::ReaderInfo::operator==(const ReaderInfo& b) const =
-    default;
-
-SmartCardReaderTracker::ObserverList::ObserverList() = default;
-SmartCardReaderTracker::ObserverList::~ObserverList() = default;
-
-void SmartCardReaderTracker::ObserverList::AddObserverIfMissing(
-    Observer* observer) {
-  if (!observers_.HasObserver(observer)) {
-    observers_.AddObserver(observer);
-  }
-}
-
-void SmartCardReaderTracker::ObserverList::RemoveObserver(Observer* observer) {
-  observers_.RemoveObserver(observer);
-}
-
-void SmartCardReaderTracker::ObserverList::NotifyReaderChanged(
-    const ReaderInfo& reader_info) {
-  for (Observer& obs : observers_) {
-    obs.OnReaderChanged(reader_info);
-  }
-}
-
-void SmartCardReaderTracker::ObserverList::NotifyReaderRemoved(
-    const std::string& reader_name) {
-  for (Observer& obs : observers_) {
-    obs.OnReaderRemoved(reader_name);
-  }
-}
-
-void SmartCardReaderTracker::ObserverList::NotifyError(
-    device::mojom::SmartCardError error) {
-  for (Observer& obs : observers_) {
-    obs.OnError(error);
-  }
-}
diff --git a/chrome/browser/smart_card/smart_card_reader_tracker.h b/chrome/browser/smart_card/smart_card_reader_tracker.h
deleted file mode 100644
index 46d5fcf..0000000
--- a/chrome/browser/smart_card/smart_card_reader_tracker.h
+++ /dev/null
@@ -1,110 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_SMART_CARD_SMART_CARD_READER_TRACKER_H_
-#define CHROME_BROWSER_SMART_CARD_SMART_CARD_READER_TRACKER_H_
-
-#include <optional>
-
-#include "base/observer_list.h"
-#include "components/keyed_service/core/keyed_service.h"
-#include "services/device/public/mojom/smart_card.mojom.h"
-
-// Keeps track of the current list of readers and their states.
-// Notifies about changes via an observer pattern.
-class SmartCardReaderTracker : public KeyedService {
- public:
-  struct ReaderInfo {
-    ReaderInfo();
-    ReaderInfo(ReaderInfo&& other);
-    ReaderInfo(const ReaderInfo&);
-    ~ReaderInfo();
-
-    ReaderInfo& operator=(const ReaderInfo& other);
-    bool operator==(const ReaderInfo& b) const;
-
-    std::string name;
-
-    // A subset of device::mojom::SmartCardReaderStateFlags
-    bool unavailable;
-    bool empty;
-    bool present;
-    bool exclusive;
-    bool inuse;
-    bool mute;
-    bool unpowered;
-
-    // Number of card insertion and removal events that happened in this reader.
-    // Will always be zero if not supported by the platform.
-    uint16_t event_count;
-
-    std::vector<uint8_t> answer_to_reset;
-  };
-
-  // Observer class for changes to smart card readers.
-  //
-  // Note that there's no OnReaderAdded() for two reasons:
-  //   1 - The browser code does not need it.
-  //   2 - The underlying PC/SC feature needed to implement this is not present
-  //       in all platforms (it's missing on MacOS).
-  class Observer : public base::CheckedObserver {
-   public:
-    // Called when a smart card reader is removed from the system.
-    virtual void OnReaderRemoved(const std::string& reader_name) {}
-
-    // Called when the attributes (state and/or atr) of a smart card reader
-    // changes.
-    virtual void OnReaderChanged(const ReaderInfo& reader_info) {}
-
-    // Called when a error preventing the monitoring of reader changes occurs.
-    // Can be retried with a new `Start` call.
-    virtual void OnError(device::mojom::SmartCardError error) {}
-  };
-
-  class ObserverList {
-   public:
-    ObserverList();
-    ObserverList(const ObserverList&) = delete;
-    ObserverList& operator=(const ObserverList&) = delete;
-    ~ObserverList();
-
-    bool empty() const { return observers_.empty(); }
-
-    void AddObserverIfMissing(Observer* observer);
-    void RemoveObserver(Observer* observer);
-
-    void NotifyReaderChanged(const ReaderInfo& reader_info);
-    void NotifyReaderRemoved(const std::string& reader_name);
-    void NotifyError(device::mojom::SmartCardError error);
-
-   private:
-    base::ObserverList<Observer> observers_;
-  };
-
-  // The parameter is a list of readers currently available.
-  //
-  // If a PC/SC error occurred, there will be no list. Ie, the optional will
-  // have no value.
-  //
-  // If the list is empty, tracking will also have stopped as there are no
-  // readers to track.
-  using StartCallback =
-      base::OnceCallback<void(std::optional<std::vector<ReaderInfo>>)>;
-
-  SmartCardReaderTracker() = default;
-  ~SmartCardReaderTracker() override = default;
-
-  // Returns the list of currently available smart card readers and (re)starts
-  // tracking them for changes or removals.
-  //
-  // It will stop tracking once there are no more observers, upon the first
-  // error encountered or if there are no readers in the system.
-  virtual void Start(Observer* observer, StartCallback) = 0;
-
-  // Removes an observer and stops tracking smart card reader
-  // changes/additions/removals if there are no other observers left
-  virtual void Stop(Observer* observer) = 0;
-};
-
-#endif  // CHROME_BROWSER_SMART_CARD_SMART_CARD_READER_TRACKER_H_
diff --git a/chrome/browser/smart_card/smart_card_reader_tracker_factory.cc b/chrome/browser/smart_card/smart_card_reader_tracker_factory.cc
deleted file mode 100644
index e49b047..0000000
--- a/chrome/browser/smart_card/smart_card_reader_tracker_factory.cc
+++ /dev/null
@@ -1,39 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/smart_card/smart_card_reader_tracker_factory.h"
-
-#include "base/check_deref.h"
-#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/smart_card/get_smart_card_context_factory.h"
-#include "chrome/browser/smart_card/smart_card_reader_tracker_impl.h"
-
-// static
-SmartCardReaderTrackerFactory* SmartCardReaderTrackerFactory::GetInstance() {
-  static base::NoDestructor<SmartCardReaderTrackerFactory> factory;
-  return factory.get();
-}
-
-// static
-SmartCardReaderTracker& SmartCardReaderTrackerFactory::GetForProfile(
-    Profile& profile) {
-  return CHECK_DEREF(static_cast<SmartCardReaderTracker*>(
-      GetInstance()->GetServiceForBrowserContext(&profile, /*create=*/true)));
-}
-
-SmartCardReaderTrackerFactory::SmartCardReaderTrackerFactory()
-    : ProfileKeyedServiceFactory(
-          "SmartCardReaderTracker",
-          ProfileSelections::Builder()
-              .WithRegular(ProfileSelection::kOwnInstance)
-              .Build()) {}
-
-SmartCardReaderTrackerFactory::~SmartCardReaderTrackerFactory() = default;
-
-std::unique_ptr<KeyedService>
-SmartCardReaderTrackerFactory::BuildServiceInstanceForBrowserContext(
-    content::BrowserContext* context) const {
-  return std::make_unique<SmartCardReaderTrackerImpl>(
-      GetSmartCardContextFactory(*context));
-}
diff --git a/chrome/browser/smart_card/smart_card_reader_tracker_factory.h b/chrome/browser/smart_card/smart_card_reader_tracker_factory.h
deleted file mode 100644
index f36e8c3..0000000
--- a/chrome/browser/smart_card/smart_card_reader_tracker_factory.h
+++ /dev/null
@@ -1,33 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_SMART_CARD_SMART_CARD_READER_TRACKER_FACTORY_H_
-#define CHROME_BROWSER_SMART_CARD_SMART_CARD_READER_TRACKER_FACTORY_H_
-
-#include "base/no_destructor.h"
-#include "chrome/browser/profiles/profile_keyed_service_factory.h"
-
-class SmartCardReaderTracker;
-
-class SmartCardReaderTrackerFactory : public ProfileKeyedServiceFactory {
- public:
-  static SmartCardReaderTracker& GetForProfile(Profile& profile);
-  static SmartCardReaderTrackerFactory* GetInstance();
-
-  SmartCardReaderTrackerFactory(const SmartCardReaderTrackerFactory&) = delete;
-  SmartCardReaderTrackerFactory& operator=(
-      const SmartCardReaderTrackerFactory&) = delete;
-
- private:
-  friend base::NoDestructor<SmartCardReaderTrackerFactory>;
-
-  SmartCardReaderTrackerFactory();
-  ~SmartCardReaderTrackerFactory() override;
-
-  // BrowserContextKeyedServiceFactory:
-  std::unique_ptr<KeyedService> BuildServiceInstanceForBrowserContext(
-      content::BrowserContext* profile) const override;
-};
-
-#endif  // CHROME_BROWSER_SMART_CARD_SMART_CARD_READER_TRACKER_FACTORY_H_
diff --git a/chrome/browser/smart_card/smart_card_reader_tracker_impl.cc b/chrome/browser/smart_card/smart_card_reader_tracker_impl.cc
deleted file mode 100644
index b983b5d..0000000
--- a/chrome/browser/smart_card/smart_card_reader_tracker_impl.cc
+++ /dev/null
@@ -1,23 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/smart_card/smart_card_reader_tracker_impl.h"
-
-SmartCardReaderTrackerImpl::SmartCardReaderTrackerImpl(
-    mojo::PendingRemote<device::mojom::SmartCardContextFactory> context_factory)
-    : context_factory_(std::move(context_factory)) {}
-
-SmartCardReaderTrackerImpl::~SmartCardReaderTrackerImpl() = default;
-
-void SmartCardReaderTrackerImpl::Start(Observer* observer,
-                                       StartCallback callback) {
-  observer_list_.AddObserverIfMissing(observer);
-  // TODO(crbug.com/1464851): Implement.
-  std::move(callback).Run(std::nullopt);
-}
-
-void SmartCardReaderTrackerImpl::Stop(Observer* observer) {
-  observer_list_.RemoveObserver(observer);
-  // TODO(crbug.com/1464851): Implement.
-}
diff --git a/chrome/browser/smart_card/smart_card_reader_tracker_impl.h b/chrome/browser/smart_card/smart_card_reader_tracker_impl.h
deleted file mode 100644
index 960d3ff..0000000
--- a/chrome/browser/smart_card/smart_card_reader_tracker_impl.h
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright 2024 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef CHROME_BROWSER_SMART_CARD_SMART_CARD_READER_TRACKER_IMPL_H_
-#define CHROME_BROWSER_SMART_CARD_SMART_CARD_READER_TRACKER_IMPL_H_
-
-#include "chrome/browser/smart_card/smart_card_reader_tracker.h"
-#include "mojo/public/cpp/bindings/remote.h"
-#include "services/device/public/mojom/smart_card.mojom.h"
-
-namespace base {
-class TimeDelta;
-}
-
-class SmartCardReaderTrackerImpl : public SmartCardReaderTracker {
- public:
-  // Minimum time between consecutive Start() calls necessary
-  // to trigger a restart.
-  static const base::TimeDelta kMinRefreshInterval;
-
-  explicit SmartCardReaderTrackerImpl(
-      mojo::PendingRemote<device::mojom::SmartCardContextFactory>);
-
-  ~SmartCardReaderTrackerImpl() override;
-
-  // `SmartCardReaderTracker` overrides:
-  void Start(Observer* observer, StartCallback) override;
-  void Stop(Observer* observer) override;
-
- private:
-  ObserverList observer_list_;
-  mojo::Remote<device::mojom::SmartCardContextFactory> context_factory_;
-};
-
-#endif  // CHROME_BROWSER_SMART_CARD_SMART_CARD_READER_TRACKER_IMPL_H_
diff --git a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java
index c0d306a..22530c0 100644
--- a/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java
+++ b/chrome/browser/tabmodel/internal/android/java/src/org/chromium/chrome/browser/tabmodel/TabWindowManagerImpl.java
@@ -146,9 +146,26 @@
                         + returnedIndex
                         + " new activity: "
                         + activity
+                        + " new activity task id: "
+                        + activity.getTaskId()
                         + " activity at requested index: "
                         + activityAtRequestedIndex;
         if (activityAtRequestedIndex != null) {
+            // Start actively listen to activity status once conflict at index is found.
+            ApplicationStatus.registerStateListenerForActivity(
+                    (activityAtIndex, newState) -> {
+                        final int localTaskId = ApplicationStatus.getTaskId(activityAtIndex);
+                        Log.i(
+                                TAG_MULTI_INSTANCE,
+                                "ActivityAtRequestedIndex "
+                                        + activityAtIndex
+                                        + " taskId "
+                                        + localTaskId
+                                        + " newState "
+                                        + newState);
+                    },
+                    activityAtRequestedIndex);
+
             message +=
                     " ApplicationStatus activity state: "
                             + ApplicationStatus.getStateForActivity(activityAtRequestedIndex)
@@ -162,11 +179,7 @@
                             activityAtRequestedIndex.getSystemService(Context.ACTIVITY_SERVICE);
             for (AppTask task : activityManager.getAppTasks()) {
                 ActivityManager.RecentTaskInfo info = AndroidTaskUtils.getTaskInfoFromTask(task);
-                if (info != null) {
-                    message += info.taskId + " - " + info.baseActivity + "; ";
-                } else {
-                    message += "null ";
-                }
+                message += info + ";\n";
             }
 
             message += "]";
diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn
index 88d50d1..0b6a5665 100644
--- a/chrome/browser/ui/BUILD.gn
+++ b/chrome/browser/ui/BUILD.gn
@@ -214,12 +214,12 @@
     "tab_modal_confirm_dialog.h",
     "tab_ui_helper.cc",
     "tab_ui_helper.h",
-    "toolbar/chrome_labs_model.cc",
-    "toolbar/chrome_labs_model.h",
-    "toolbar/chrome_labs_prefs.cc",
-    "toolbar/chrome_labs_prefs.h",
-    "toolbar/chrome_labs_utils.cc",
-    "toolbar/chrome_labs_utils.h",
+    "toolbar/chrome_labs/chrome_labs_model.cc",
+    "toolbar/chrome_labs/chrome_labs_model.h",
+    "toolbar/chrome_labs/chrome_labs_prefs.cc",
+    "toolbar/chrome_labs/chrome_labs_prefs.h",
+    "toolbar/chrome_labs/chrome_labs_utils.cc",
+    "toolbar/chrome_labs/chrome_labs_utils.h",
     "toolbar/chrome_location_bar_model_delegate.cc",
     "toolbar/chrome_location_bar_model_delegate.h",
     "translate/partial_translate_bubble_model.h",
@@ -1590,10 +1590,10 @@
       "toolbar/back_forward_menu_model.h",
       "toolbar/bookmark_sub_menu_model.cc",
       "toolbar/bookmark_sub_menu_model.h",
-      "toolbar/media_router_action_controller.cc",
-      "toolbar/media_router_action_controller.h",
-      "toolbar/media_router_contextual_menu.cc",
-      "toolbar/media_router_contextual_menu.h",
+      "toolbar/media_router/media_router_action_controller.cc",
+      "toolbar/media_router/media_router_action_controller.h",
+      "toolbar/media_router/media_router_contextual_menu.cc",
+      "toolbar/media_router/media_router_contextual_menu.h",
       "toolbar/pinned_toolbar/pinned_toolbar_actions_model.cc",
       "toolbar/pinned_toolbar/pinned_toolbar_actions_model.h",
       "toolbar/pinned_toolbar/pinned_toolbar_actions_model_factory.cc",
diff --git a/chrome/browser/ui/android/autofill/internal/java/res/layout/autofill_progress_dialog.xml b/chrome/browser/ui/android/autofill/internal/java/res/layout/autofill_progress_dialog.xml
index 3f3e4d8..50cb62f 100644
--- a/chrome/browser/ui/android/autofill/internal/java/res/layout/autofill_progress_dialog.xml
+++ b/chrome/browser/ui/android/autofill/internal/java/res/layout/autofill_progress_dialog.xml
@@ -32,8 +32,8 @@
             android:id="@+id/progress_bar_layout">
             <ProgressBar
                 android:id="@+id/progress_bar"
-                android:layout_width="@dimen/progress_bar_size"
-                android:layout_height="@dimen/progress_bar_size"
+                android:layout_width="@dimen/autofill_dialog_progress_bar_size"
+                android:layout_height="@dimen/autofill_dialog_progress_bar_size"
                 android:indeterminate="true"/>
             <ImageView
                 android:id="@+id/confirmation_icon"
diff --git a/chrome/browser/ui/android/autofill/internal/java/res/layout/progress_bar.xml b/chrome/browser/ui/android/autofill/internal/java/res/layout/progress_bar.xml
index c68dcf9..1cd90627 100644
--- a/chrome/browser/ui/android/autofill/internal/java/res/layout/progress_bar.xml
+++ b/chrome/browser/ui/android/autofill/internal/java/res/layout/progress_bar.xml
@@ -16,15 +16,15 @@
 
     <ProgressBar
         android:id="@+id/progress_bar"
-        android:layout_height="@dimen/progress_bar_size"
+        android:layout_height="@dimen/autofill_dialog_progress_bar_size"
+        android:layout_width="@dimen/autofill_dialog_progress_bar_size"
         android:layout_marginBottom="@dimen/progress_bar_margin_bottom"
-        android:layout_marginTop="@dimen/progress_bar_margin_top"
-        android:layout_width="@dimen/progress_bar_size"/>
+        android:layout_marginTop="@dimen/progress_bar_margin_top"/>
 
     <ImageView
         android:id="@+id/confirmation_icon"
         android:layout_width="wrap_content"
-        android:layout_height="@dimen/progress_bar_size"
+        android:layout_height="@dimen/autofill_dialog_progress_bar_size"
         android:src="@drawable/checkmark_blue"
         android:visibility="gone"
         tools:ignore="ContentDescription" />
diff --git a/chrome/browser/ui/android/autofill/internal/java/res/values/dimens.xml b/chrome/browser/ui/android/autofill/internal/java/res/values/dimens.xml
index 548eaaf..5bd3e9f 100644
--- a/chrome/browser/ui/android/autofill/internal/java/res/values/dimens.xml
+++ b/chrome/browser/ui/android/autofill/internal/java/res/values/dimens.xml
@@ -13,7 +13,6 @@
   <dimen name="otp_verification_dialog_content_margin_top">64dp</dimen>
   <dimen name="otp_verification_dialog_input_margin_bottom">16dp</dimen>
   <dimen name="otp_verification_dialog_resend_message_margin_top">12dp</dimen>
-  <dimen name="progress_bar_size">36dp</dimen>
   <dimen name="progress_bar_margin_top">16dp</dimen>
   <dimen name="progress_bar_margin_bottom">8dp</dimen>
 
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings.grd b/chrome/browser/ui/android/strings/android_chrome_strings.grd
index 82d3333..19d58d7 100644
--- a/chrome/browser/ui/android/strings/android_chrome_strings.grd
+++ b/chrome/browser/ui/android/strings/android_chrome_strings.grd
@@ -3923,12 +3923,19 @@
       </message>
 
       <!-- Account bookmarks strings -->
-      <message name="IDS_LOCAL_BOOKMARKS_SECTION_HEADER">
+      <message name="IDS_LOCAL_BOOKMARKS_SECTION_HEADER" desc="The section header of local top-level bookmark folders.">
         Only on this device
       </message>
-      <message name="IDS_ACCOUNT_BOOKMARKS_SECTION_HEADER">
+      <message name="IDS_ACCOUNT_BOOKMARKS_SECTION_HEADER" desc="The section header of account top-level bookmark folders.">
         In your Google Account
       </message>
+      <!-- Power bookmarks strings-->
+      <message name="IDS_ACCOUNT_BOOKMARK_SAVE_FLOW_TITLE" desc="The title of the save flow when a user chooses save a bookmarks.">
+        Saved in <ph name="FOLDER_NAME">%1$s<ex>Mobile bookmarks</ex></ph>
+      </message>
+      <message name="IDS_ACCOUNT_BOOKMARK_SAVE_FLOW_SUBTITLE_LOCAL" desc="The subtitle of the save flow when a user saves a bokmark locally.">
+        On this device
+      </message>
 
       <!-- Read later strings -->
       <message name="IDS_READING_LIST_READ" desc="The header for the read section in the reading list UI.">
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_ACCOUNT_BOOKMARK_SAVE_FLOW_SUBTITLE_LOCAL.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_ACCOUNT_BOOKMARK_SAVE_FLOW_SUBTITLE_LOCAL.png.sha1
new file mode 100644
index 0000000..0b33792
--- /dev/null
+++ b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_ACCOUNT_BOOKMARK_SAVE_FLOW_SUBTITLE_LOCAL.png.sha1
@@ -0,0 +1 @@
+1c4a4695b5fa675c065a8560bb2d55173fe6de59
\ No newline at end of file
diff --git a/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_ACCOUNT_BOOKMARK_SAVE_FLOW_TITLE.png.sha1 b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_ACCOUNT_BOOKMARK_SAVE_FLOW_TITLE.png.sha1
new file mode 100644
index 0000000..0b33792
--- /dev/null
+++ b/chrome/browser/ui/android/strings/android_chrome_strings_grd/IDS_ACCOUNT_BOOKMARK_SAVE_FLOW_TITLE.png.sha1
@@ -0,0 +1 @@
+1c4a4695b5fa675c065a8560bb2d55173fe6de59
\ No newline at end of file
diff --git a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
index 6e6cf506..fc2b924 100644
--- a/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
+++ b/chrome/browser/ui/android/toolbar/java/src/org/chromium/chrome/browser/toolbar/LocationBarModel.java
@@ -707,15 +707,11 @@
                         || mNtpDelegate.isCurrentlyVisible()
                         || isInOverviewAndShowingOmnibox();
 
-        boolean useUpdatedConnectionSecurityIndicators =
-                mOmniboxUpdatedConnectionSecurityIndicatorsEnabled
-                        && !(hasTab() && mTab.isCustomTab());
-
         return SecurityStatusIcon.getSecurityIconResource(
                 securityLevel,
                 isSmallDevice,
                 skipIconForNeutralState,
-                useUpdatedConnectionSecurityIndicators);
+                mOmniboxUpdatedConnectionSecurityIndicatorsEnabled);
     }
 
     @Override
diff --git a/chrome/browser/ui/ash/glanceables/glanceables_keyed_service.cc b/chrome/browser/ui/ash/glanceables/glanceables_keyed_service.cc
index 8de8ced..f723e17 100644
--- a/chrome/browser/ui/ash/glanceables/glanceables_keyed_service.cc
+++ b/chrome/browser/ui/ash/glanceables/glanceables_keyed_service.cc
@@ -17,6 +17,7 @@
 #include "base/check.h"
 #include "base/command_line.h"
 #include "base/functional/bind.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/task/task_traits.h"
 #include "base/task/thread_pool.h"
 #include "base/time/default_clock.h"
@@ -103,25 +104,33 @@
   ClearClients();
 }
 
-bool GlanceablesKeyedService::AreGlanceablesEnabled() const {
+GlanceablesKeyedService::GlanceablesStatus
+GlanceablesKeyedService::AreGlanceablesEnabled() const {
   if (features::AreAnyGlanceablesTimeManagementViewsEnabled()) {
     // TODO(b/319251265): Finalize policies to control the feature.
-    return true;
+    return GlanceablesStatus::kEnabledForFullLaunch;
   }
 
   PrefService* const prefs = profile_->GetPrefs();
   if (features::AreGlanceablesV2Enabled()) {
-    return prefs->GetBoolean(prefs::kGlanceablesEnabled) ||
-           base::CommandLine::ForCurrentProcess()->HasSwitch(
-               ash::switches::kAshBypassGlanceablesPref);
+    if (prefs->GetBoolean(prefs::kGlanceablesEnabled)) {
+      return GlanceablesStatus::kEnabledByV2Flag;
+    }
+    if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+            ash::switches::kAshBypassGlanceablesPref)) {
+      return GlanceablesStatus::kEnabledByPrefBypass;
+    }
+    return GlanceablesStatus::kDisabled;
   }
 
   if (features::AreGlanceablesV2EnabledForTrustedTesters()) {
-    return prefs->IsManagedPreference(prefs::kGlanceablesEnabled) &&
-           prefs->GetBoolean(prefs::kGlanceablesEnabled);
+    if (prefs->IsManagedPreference(prefs::kGlanceablesEnabled) &&
+        prefs->GetBoolean(prefs::kGlanceablesEnabled)) {
+      return GlanceablesStatus::kEnabledForTrustedTesters;
+    }
   }
 
-  return false;
+  return GlanceablesStatus::kDisabled;
 }
 
 std::unique_ptr<google_apis::RequestSender>
@@ -181,7 +190,11 @@
 
   CHECK(prefs);
 
-  if (!AreGlanceablesEnabled()) {
+  GlanceablesStatus status = AreGlanceablesEnabled();
+  base::UmaHistogramEnumeration("Ash.Glanceables.TimeManagement.FeatureStatus",
+                                status);
+
+  if (status == GlanceablesStatus::kDisabled) {
     Shell::Get()->glanceables_controller()->ClearUserStatePrefs(prefs);
     ClearClients();
     return;
diff --git a/chrome/browser/ui/ash/glanceables/glanceables_keyed_service.h b/chrome/browser/ui/ash/glanceables/glanceables_keyed_service.h
index 89eb145..93013e0 100644
--- a/chrome/browser/ui/ash/glanceables/glanceables_keyed_service.h
+++ b/chrome/browser/ui/ash/glanceables/glanceables_keyed_service.h
@@ -53,9 +53,20 @@
   void Shutdown() override;
 
  private:
+  // Indicates whether, and why time management glanceables are enabled.
+  // Used as an enum in histograms, so the assigned values should not change.
+  enum class GlanceablesStatus {
+    kDisabled = 0,
+    kEnabledForTrustedTesters = 1,
+    kEnabledByV2Flag = 2,
+    kEnabledByPrefBypass = 3,
+    kEnabledForFullLaunch = 4,
+    kMaxValue = kEnabledForFullLaunch
+  };
+
   // Returns whether glanceables are enabled for the profile that owns the
   // GlanceablesKeyedService.
-  bool AreGlanceablesEnabled() const;
+  GlanceablesStatus AreGlanceablesEnabled() const;
 
   // Helper method that creates a `google_apis::RequestSender` instance.
   // `scopes` - OAuth 2 scopes needed for a client.
diff --git a/chrome/browser/ui/ash/network/network_portal_signin_controller.cc b/chrome/browser/ui/ash/network/network_portal_signin_controller.cc
index 74a14b17..6199edad 100644
--- a/chrome/browser/ui/ash/network/network_portal_signin_controller.cc
+++ b/chrome/browser/ui/ash/network/network_portal_signin_controller.cc
@@ -20,7 +20,6 @@
 #include "chrome/common/pref_names.h"
 #include "chromeos/ash/components/network/network_event_log.h"
 #include "chromeos/ash/components/network/network_handler.h"
-#include "chromeos/ash/components/network/network_state.h"
 #include "chromeos/ash/components/network/network_state_handler.h"
 #include "chromeos/ash/components/network/portal_detector/network_portal_detector.h"
 #include "chromeos/ash/components/network/proxy/proxy_config_service_impl.h"
@@ -138,7 +137,7 @@
   if (url.is_empty())
     url = GURL(captive_portal::CaptivePortalDetector::kDefaultURL);
 
-  SigninMode mode = GetSigninMode();
+  SigninMode mode = GetSigninMode(portal_state);
   NET_LOG(EVENT) << "Show signin mode: " << mode << " from: " << source;
   base::UmaHistogramEnumeration("Network.NetworkPortalSigninMode", mode);
   base::UmaHistogramEnumeration("Network.NetworkPortalSigninSource", source);
@@ -171,7 +170,8 @@
 }
 
 NetworkPortalSigninController::SigninMode
-NetworkPortalSigninController::GetSigninMode() const {
+NetworkPortalSigninController::GetSigninMode(
+    NetworkState::PortalState portal_state) const {
   if (!user_manager::UserManager::IsInitialized()
       || !user_manager::UserManager::Get()->IsUserLoggedIn()) {
     NET_LOG(DEBUG) << "GetSigninMode: Not logged in";
@@ -190,10 +190,15 @@
     return SigninMode::kSigninDialog;
   }
 
+  // When showing a proxy auth window, use a normal tab with proxies enabled.
+  if (portal_state == NetworkState::PortalState::kProxyAuthRequired) {
+    return SigninMode::kNormalTab;
+  }
+
   // This pref defaults to true, but if a policy is active the policy value
   // defaults to false ("any captive portal authentication pages are shown in a
   // regular tab [if a proxy is active]").
-  // Note: Generally we always want to show the portal signin UI in an incognito
+  // Note: Generally we always want to show the portal signin UI in an OTR
   // tab to avoid providing cookies, see b/245578628 for details.
   const bool ignore_proxy = profile->GetPrefs()->GetBoolean(
       prefs::kCaptivePortalAuthenticationIgnoresProxy);
diff --git a/chrome/browser/ui/ash/network/network_portal_signin_controller.h b/chrome/browser/ui/ash/network/network_portal_signin_controller.h
index 39f80baf..a774dc57 100644
--- a/chrome/browser/ui/ash/network/network_portal_signin_controller.h
+++ b/chrome/browser/ui/ash/network/network_portal_signin_controller.h
@@ -9,6 +9,7 @@
 #include "base/no_destructor.h"
 #include "base/scoped_observation.h"
 #include "base/time/time.h"
+#include "chromeos/ash/components/network/network_state.h"
 #include "chromeos/ash/components/network/network_state_handler_observer.h"
 #include "ui/views/widget/widget_observer.h"
 #include "url/gurl.h"
@@ -90,7 +91,7 @@
   virtual void ShowDialog(Profile* profile, const GURL& url);
   virtual void ShowTab(Profile* profile, const GURL& url);
 
-  SigninMode GetSigninMode() const;
+  SigninMode GetSigninMode(NetworkState::PortalState portal_state) const;
 
  private:
   raw_ptr<views::Widget> dialog_widget_ = nullptr;
diff --git a/chrome/browser/ui/ash/network/network_portal_signin_controller_unittest.cc b/chrome/browser/ui/ash/network/network_portal_signin_controller_unittest.cc
index 04e6ae8..98ed735 100644
--- a/chrome/browser/ui/ash/network/network_portal_signin_controller_unittest.cc
+++ b/chrome/browser/ui/ash/network/network_portal_signin_controller_unittest.cc
@@ -178,6 +178,17 @@
     base::RunLoop().RunUntilIdle();
   }
 
+  void SetNetworkProxyAuthRequired() {
+    GetPrefs()->SetBoolean(::proxy_config::prefs::kUseSharedProxies, true);
+    proxy_config::SetProxyConfigForNetwork(
+        ProxyConfigDictionary(ProxyConfigDictionary::CreateAutoDetect()),
+        GetDefaultNetwork());
+    base::RunLoop().RunUntilIdle();
+    NetworkHandler::Get()->network_state_handler()->SetNetworkChromePortalState(
+        GetDefaultNetwork().path(),
+        NetworkState::PortalState::kProxyAuthRequired);
+  }
+
   void ShowSignin(
       NetworkPortalSigninController::SigninSource source =
           NetworkPortalSigninController::SigninSource::kNotification) {
@@ -211,6 +222,16 @@
   EXPECT_TRUE(controller_->profile()->IsOffTheRecord());
 }
 
+TEST_F(NetworkPortalSigninControllerTest, ProxyAuthRequired) {
+  SimulateLogin();
+  std::string expected_url = SetProbeUrl(kTestPortalUrl);
+  SetNetworkProxyAuthRequired();
+  ShowSignin();
+  EXPECT_EQ(controller_->tab_url(), expected_url);
+  ASSERT_TRUE(controller_->profile());
+  EXPECT_FALSE(controller_->profile()->IsOffTheRecord());
+}
+
 TEST_F(NetworkPortalSigninControllerTest, AuthenticationIgnoresProxyTrue) {
   SimulateLogin();
   std::string expected_url = SetProbeUrl(kTestPortalUrl);
diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc
index 018602d..7079adf 100644
--- a/chrome/browser/ui/browser.cc
+++ b/chrome/browser/ui/browser.cc
@@ -948,6 +948,16 @@
   return GetStatusBubble();
 }
 
+void Browser::SetForceShowBookmarkBarFlag(ForceShowBookmarkBarFlag flag) {
+  force_show_bookmark_bar_flags_ |= flag;
+  UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_FORCE_SHOW);
+}
+
+void Browser::ClearForceShowBookmarkBarFlag(ForceShowBookmarkBarFlag flag) {
+  force_show_bookmark_bar_flags_ &= ~flag;
+  UpdateBookmarkBarState(BOOKMARK_BAR_STATE_CHANGE_FORCE_SHOW);
+}
+
 void Browser::OnWindowClosing() {
   if (const auto closing_status = HandleBeforeClose();
       closing_status != BrowserClosingStatus::kPermitted) {
@@ -3149,7 +3159,8 @@
     return;
   }
 
-  bool should_animate = reason == BOOKMARK_BAR_STATE_CHANGE_PREF_CHANGE;
+  bool should_animate = reason == BOOKMARK_BAR_STATE_CHANGE_PREF_CHANGE ||
+                        reason == BOOKMARK_BAR_STATE_CHANGE_FORCE_SHOW;
   window_->BookmarkBarStateChanged(
       should_animate ? BookmarkBar::ANIMATE_STATE_CHANGE
                      : BookmarkBar::DONT_ANIMATE_STATE_CHANGE);
@@ -3164,6 +3175,10 @@
       !ShouldHideUIForFullscreen())
     return true;
 
+  if (force_show_bookmark_bar_flags_ != ForceShowBookmarkBarFlag::kNone) {
+    return true;
+  }
+
   WebContents* web_contents = tab_strip_model_->GetActiveWebContents();
   if (!web_contents)
     return false;
diff --git a/chrome/browser/ui/browser.h b/chrome/browser/ui/browser.h
index 12a7f47..7be186e 100644
--- a/chrome/browser/ui/browser.h
+++ b/chrome/browser/ui/browser.h
@@ -219,6 +219,13 @@
     kDeskTemplate,
   };
 
+  // Represents the reasons for force showing bookmark bar.
+  enum ForceShowBookmarkBarFlag {
+    kNone = 0,
+    kTabGroupsTutorialActive = 1 << 0,
+    kNewTabGroupAdded = 1 << 1,
+  };
+
   // Represents whether a value was known to be explicitly specified.
   enum class ValueSpecified { kUnknown, kSpecified, kUnspecified };
 
@@ -818,6 +825,10 @@
 
   StatusBubble* GetStatusBubbleForTesting();
 
+  // Sets or clears the flags to force showing bookmark bar.
+  void SetForceShowBookmarkBarFlag(ForceShowBookmarkBarFlag flag);
+  void ClearForceShowBookmarkBarFlag(ForceShowBookmarkBarFlag flag);
+
  private:
   friend class BrowserTest;
   friend class ExclusiveAccessTest;
@@ -869,6 +880,9 @@
     // Change is the result of switching the option of showing toolbar in full
     // screen. Only used on Mac.
     BOOKMARK_BAR_STATE_CHANGE_TOOLBAR_OPTION_CHANGE,
+
+    // Change is the result of a force show reason
+    BOOKMARK_BAR_STATE_CHANGE_FORCE_SHOW,
   };
 
   explicit Browser(const CreateParams& params);
@@ -1387,6 +1401,8 @@
   std::unique_ptr<OverscrollPrefManager> overscroll_pref_manager_;
 #endif
 
+  int force_show_bookmark_bar_flags_ = ForceShowBookmarkBarFlag::kNone;
+
   // The following factory is used for chrome update coalescing.
   base::WeakPtrFactory<Browser> chrome_updater_factory_{this};
 
diff --git a/chrome/browser/ui/browser_command_controller.cc b/chrome/browser/ui/browser_command_controller.cc
index 4f4f15f..5664d44 100644
--- a/chrome/browser/ui/browser_command_controller.cc
+++ b/chrome/browser/ui/browser_command_controller.cc
@@ -53,7 +53,7 @@
 #include "chrome/browser/ui/singleton_tabs.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
 #include "chrome/browser/ui/tabs/tab_strip_user_gesture_details.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_utils.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
 #include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/web_applications/app_browser_controller.h"
 #include "chrome/browser/ui/web_applications/web_app_dialog_utils.h"
diff --git a/chrome/browser/ui/media_router/media_router_ui_service.h b/chrome/browser/ui/media_router/media_router_ui_service.h
index c3b6bdc..759defa7 100644
--- a/chrome/browser/ui/media_router/media_router_ui_service.h
+++ b/chrome/browser/ui/media_router/media_router_ui_service.h
@@ -8,7 +8,7 @@
 
 #include "base/memory/raw_ptr.h"
 #include "base/observer_list.h"
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
 #include "components/keyed_service/core/keyed_service.h"
 
 class PrefChangeRegistrar;
diff --git a/chrome/browser/ui/recently_audible_helper_unittest.cc b/chrome/browser/ui/recently_audible_helper_unittest.cc
index 189dc41..8b0ec968a 100644
--- a/chrome/browser/ui/recently_audible_helper_unittest.cc
+++ b/chrome/browser/ui/recently_audible_helper_unittest.cc
@@ -9,7 +9,6 @@
 #include "base/functional/bind.h"
 #include "base/memory/raw_ptr.h"
 #include "base/run_loop.h"
-#include "base/task/current_thread.h"
 #include "base/test/test_mock_time_task_runner.h"
 #include "chrome/test/base/testing_profile.h"
 #include "content/public/test/browser_task_environment.h"
@@ -37,7 +36,6 @@
     scoped_context_ =
         std::make_unique<base::TestMockTimeTaskRunner::ScopedContext>(
             task_runner_);
-    base::CurrentThread::Get()->SetTaskRunner(task_runner_);
 
     RecentlyAudibleHelper::CreateForWebContents(contents_);
     helper_ = RecentlyAudibleHelper::FromWebContents(contents_);
diff --git a/chrome/browser/ui/tab_helpers.cc b/chrome/browser/ui/tab_helpers.cc
index 6394a619..56c804a 100644
--- a/chrome/browser/ui/tab_helpers.cc
+++ b/chrome/browser/ui/tab_helpers.cc
@@ -161,6 +161,7 @@
 #include "pdf/buildflags.h"
 #include "ppapi/buildflags/buildflags.h"
 #include "printing/buildflags/buildflags.h"
+#include "rlz/buildflags/buildflags.h"
 #include "ui/accessibility/accessibility_features.h"
 
 #if BUILDFLAG(IS_ANDROID)
@@ -291,6 +292,10 @@
 #include "components/compose/core/browser/compose_features.h"
 #endif
 
+#if BUILDFLAG(ENABLE_RLZ)
+#include "chrome/browser/rlz/chrome_rlz_tracker_web_contents_observer.h"
+#endif
+
 using content::WebContents;
 
 namespace {
@@ -361,6 +366,10 @@
   ChromePasswordManagerClient::CreateForWebContents(web_contents);
   ChromePasswordReuseDetectionManagerClient::CreateForWebContents(web_contents);
   CreateSubresourceFilterWebContentsHelper(web_contents);
+#if BUILDFLAG(ENABLE_RLZ)
+  ChromeRLZTrackerWebContentsObserver::CreateForWebContentsIfNeeded(
+      web_contents);
+#endif
   ChromeTranslateClient::CreateForWebContents(web_contents);
   client_hints::ClientHintsWebContentsObserver::CreateForWebContents(
       web_contents);
diff --git a/chrome/browser/ui/toolbar/OWNERS b/chrome/browser/ui/toolbar/OWNERS
index f7e3c0f..39795d2 100644
--- a/chrome/browser/ui/toolbar/OWNERS
+++ b/chrome/browser/ui/toolbar/OWNERS
@@ -2,7 +2,3 @@
 per-file browser_actions_bar_browsertest*=rdevlin.cronin@chromium.org
 per-file *toolbar_action*=rdevlin.cronin@chromium.org
 per-file *toolbar_action*=emiliapaz@chromium.org
-per-file chrome_labs*=elainechien@chromium.org
-
-# Media Router Action Files
-per-file *media_router*=file://chrome/browser/media/router/OWNERS
diff --git a/chrome/browser/ui/toolbar/app_menu_model.cc b/chrome/browser/ui/toolbar/app_menu_model.cc
index c6fce431..bb41ecd 100644
--- a/chrome/browser/ui/toolbar/app_menu_model.cc
+++ b/chrome/browser/ui/toolbar/app_menu_model.cc
@@ -60,9 +60,9 @@
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
 #include "chrome/browser/ui/toolbar/app_menu_icon_controller.h"
 #include "chrome/browser/ui/toolbar/bookmark_sub_menu_model.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_utils.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
 #include "chrome/browser/ui/toolbar/recent_tabs_sub_menu_model.h"
 #include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/web_applications/web_app_launch_utils.h"
diff --git a/chrome/browser/ui/toolbar/chrome_labs/OWNERS b/chrome/browser/ui/toolbar/chrome_labs/OWNERS
new file mode 100644
index 0000000..a4a027a6
--- /dev/null
+++ b/chrome/browser/ui/toolbar/chrome_labs/OWNERS
@@ -0,0 +1 @@
+elainechien@chromium.org
diff --git a/chrome/browser/ui/toolbar/chrome_labs_model.cc b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.cc
similarity index 98%
rename from chrome/browser/ui/toolbar/chrome_labs_model.cc
rename to chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.cc
index e65b9fb..cc4650d8 100644
--- a/chrome/browser/ui/toolbar/chrome_labs_model.cc
+++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
 
 #include <optional>
 
diff --git a/chrome/browser/ui/toolbar/chrome_labs_model.h b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h
similarity index 90%
rename from chrome/browser/ui/toolbar/chrome_labs_model.h
rename to chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h
index 641bc80a..77f4824b 100644
--- a/chrome/browser/ui/toolbar/chrome_labs_model.h
+++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_MODEL_H_
-#define CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_MODEL_H_
+#ifndef CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_CHROME_LABS_MODEL_H_
+#define CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_CHROME_LABS_MODEL_H_
 
 #include <string>
 #include <vector>
@@ -60,4 +60,4 @@
   void SetModelDataForTesting(const std::vector<LabInfo>& test_feature_info);
 };
 
-#endif  // CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_MODEL_H_
+#endif  // CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_CHROME_LABS_MODEL_H_
diff --git a/chrome/browser/ui/toolbar/chrome_labs_model_unittest.cc b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model_unittest.cc
similarity index 97%
rename from chrome/browser/ui/toolbar/chrome_labs_model_unittest.cc
rename to chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model_unittest.cc
index a62a73bd..f05b853 100644
--- a/chrome/browser/ui/toolbar/chrome_labs_model_unittest.cc
+++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model_unittest.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
 #include "base/i18n/case_conversion.h"
 #include "base/strings/string_piece.h"
 #include "base/strings/string_util.h"
diff --git a/chrome/browser/ui/toolbar/chrome_labs_prefs.cc b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.cc
similarity index 97%
rename from chrome/browser/ui/toolbar/chrome_labs_prefs.cc
rename to chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.cc
index c72326e..f792842f 100644
--- a/chrome/browser/ui/toolbar/chrome_labs_prefs.cc
+++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
 #include "components/pref_registry/pref_registry_syncable.h"
 #include "components/prefs/pref_registry_simple.h"
 
diff --git a/chrome/browser/ui/toolbar/chrome_labs_prefs.h b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h
similarity index 80%
rename from chrome/browser/ui/toolbar/chrome_labs_prefs.h
rename to chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h
index 122e54f..78af97e 100644
--- a/chrome/browser/ui/toolbar/chrome_labs_prefs.h
+++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_PREFS_H_
-#define CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_PREFS_H_
+#ifndef CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_CHROME_LABS_PREFS_H_
+#define CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_CHROME_LABS_PREFS_H_
 
 #include "build/buildflag.h"
 #include "build/chromeos_buildflags.h"
@@ -34,4 +34,4 @@
 
 }  // namespace chrome_labs_prefs
 
-#endif  // CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_PREFS_H_
+#endif  // CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_CHROME_LABS_PREFS_H_
diff --git a/chrome/browser/ui/toolbar/chrome_labs_utils.cc b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc
similarity index 97%
rename from chrome/browser/ui/toolbar/chrome_labs_utils.cc
rename to chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc
index 8b9f19d..e1c80e8 100644
--- a/chrome/browser/ui/toolbar/chrome_labs_utils.cc
+++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/ui/toolbar/chrome_labs_utils.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
 
 #include "base/containers/contains.h"
 #include "base/metrics/field_trial_params.h"
@@ -13,7 +13,7 @@
 #include "chrome/browser/browser_process.h"
 #include "chrome/browser/flag_descriptions.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
 #include "chrome/browser/ui/ui_features.h"
 #include "chrome/common/channel_info.h"
 #include "components/flags_ui/feature_entry.h"
diff --git a/chrome/browser/ui/toolbar/chrome_labs_utils.h b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h
similarity index 80%
rename from chrome/browser/ui/toolbar/chrome_labs_utils.h
rename to chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h
index 25eb580..906ad5e3 100644
--- a/chrome/browser/ui/toolbar/chrome_labs_utils.h
+++ b/chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_UTILS_H_
-#define CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_UTILS_H_
+#ifndef CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_CHROME_LABS_UTILS_H_
+#define CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_CHROME_LABS_UTILS_H_
 
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
 
 class Profile;
 
@@ -30,4 +30,4 @@
 // pre-stable channels will have Chrome Labs enabled by default.
 bool IsChromeLabsEnabled();
 
-#endif  //  CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_UTILS_H_
+#endif  //  CHROME_BROWSER_UI_TOOLBAR_CHROME_LABS_CHROME_LABS_UTILS_H_
diff --git a/chrome/browser/ui/toolbar/media_router/OWNERS b/chrome/browser/ui/toolbar/media_router/OWNERS
new file mode 100644
index 0000000..dd66178
--- /dev/null
+++ b/chrome/browser/ui/toolbar/media_router/OWNERS
@@ -0,0 +1 @@
+file://chrome/browser/media/router/OWNERS
diff --git a/chrome/browser/ui/toolbar/media_router_action_controller.cc b/chrome/browser/ui/toolbar/media_router/media_router_action_controller.cc
similarity index 98%
rename from chrome/browser/ui/toolbar/media_router_action_controller.cc
rename to chrome/browser/ui/toolbar/media_router/media_router_action_controller.cc
index 19c6661..8e4b79ca 100644
--- a/chrome/browser/ui/toolbar/media_router_action_controller.cc
+++ b/chrome/browser/ui/toolbar/media_router/media_router_action_controller.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
 
 #include "base/functional/bind.h"
 #include "base/observer_list.h"
diff --git a/chrome/browser/ui/toolbar/media_router_action_controller.h b/chrome/browser/ui/toolbar/media_router/media_router_action_controller.h
similarity index 93%
rename from chrome/browser/ui/toolbar/media_router_action_controller.h
rename to chrome/browser/ui/toolbar/media_router/media_router_action_controller.h
index c57095c..e28784cd 100644
--- a/chrome/browser/ui/toolbar/media_router_action_controller.h
+++ b/chrome/browser/ui/toolbar/media_router/media_router_action_controller.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_ACTION_CONTROLLER_H_
-#define CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_ACTION_CONTROLLER_H_
+#ifndef CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_MEDIA_ROUTER_ACTION_CONTROLLER_H_
+#define CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_MEDIA_ROUTER_ACTION_CONTROLLER_H_
 
 #include <vector>
 
@@ -12,7 +12,7 @@
 #include "base/memory/weak_ptr.h"
 #include "base/observer_list.h"
 #include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/ui/toolbar/media_router_contextual_menu.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.h"
 #include "components/media_router/browser/issues_observer.h"
 #include "components/media_router/browser/media_routes_observer.h"
 #include "components/prefs/pref_change_registrar.h"
@@ -134,4 +134,4 @@
   base::WeakPtrFactory<MediaRouterActionController> weak_factory_{this};
 };
 
-#endif  // CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_ACTION_CONTROLLER_H_
+#endif  // CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_MEDIA_ROUTER_ACTION_CONTROLLER_H_
diff --git a/chrome/browser/ui/toolbar/media_router_action_controller_unittest.cc b/chrome/browser/ui/toolbar/media_router/media_router_action_controller_unittest.cc
similarity index 98%
rename from chrome/browser/ui/toolbar/media_router_action_controller_unittest.cc
rename to chrome/browser/ui/toolbar/media_router/media_router_action_controller_unittest.cc
index 7f14ab39..28fc911e 100644
--- a/chrome/browser/ui/toolbar/media_router_action_controller_unittest.cc
+++ b/chrome/browser/ui/toolbar/media_router/media_router_action_controller_unittest.cc
@@ -8,7 +8,7 @@
 #include "base/run_loop.h"
 #include "base/test/scoped_feature_list.h"
 #include "chrome/browser/media/router/media_router_feature.h"
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/test/base/browser_with_test_window_test.h"
 #include "components/media_router/browser/test/mock_media_router.h"
diff --git a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc b/chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.cc
similarity index 97%
rename from chrome/browser/ui/toolbar/media_router_contextual_menu.cc
rename to chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.cc
index 8669063..a681655 100644
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu.cc
+++ b/chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/ui/toolbar/media_router_contextual_menu.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.h"
 
 #include <memory>
 #include <string>
@@ -16,7 +16,7 @@
 #include "chrome/browser/signin/identity_manager_factory.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/singleton_tabs.h"
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
 #include "chrome/common/pref_names.h"
 #include "chrome/common/url_constants.h"
 #include "chrome/grit/branded_strings.h"
diff --git a/chrome/browser/ui/toolbar/media_router_contextual_menu.h b/chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.h
similarity index 92%
rename from chrome/browser/ui/toolbar/media_router_contextual_menu.h
rename to chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.h
index f871fe50..9a7c9eeb 100644
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu.h
+++ b/chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.h
@@ -2,8 +2,8 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_CONTEXTUAL_MENU_H_
-#define CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_CONTEXTUAL_MENU_H_
+#ifndef CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_MEDIA_ROUTER_CONTEXTUAL_MENU_H_
+#define CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_MEDIA_ROUTER_CONTEXTUAL_MENU_H_
 
 #include "base/gtest_prod_util.h"
 #include "base/memory/raw_ptr.h"
@@ -83,4 +83,4 @@
   const bool shown_by_policy_;
 };
 
-#endif  // CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_CONTEXTUAL_MENU_H_
+#endif  // CHROME_BROWSER_UI_TOOLBAR_MEDIA_ROUTER_MEDIA_ROUTER_CONTEXTUAL_MENU_H_
diff --git a/chrome/browser/ui/toolbar/media_router_contextual_menu_unittest.cc b/chrome/browser/ui/toolbar/media_router/media_router_contextual_menu_unittest.cc
similarity index 97%
rename from chrome/browser/ui/toolbar/media_router_contextual_menu_unittest.cc
rename to chrome/browser/ui/toolbar/media_router/media_router_contextual_menu_unittest.cc
index 779c385..1effac7 100644
--- a/chrome/browser/ui/toolbar/media_router_contextual_menu_unittest.cc
+++ b/chrome/browser/ui/toolbar/media_router/media_router_contextual_menu_unittest.cc
@@ -15,9 +15,9 @@
 #include "chrome/browser/signin/identity_test_environment_profile_adaptor.h"
 #include "chrome/browser/ui/media_router/media_router_ui_service.h"
 #include "chrome/browser/ui/media_router/media_router_ui_service_factory.h"
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
-#include "chrome/browser/ui/toolbar/media_router_contextual_menu.h"
-#include "chrome/browser/ui/toolbar/mock_media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.h"
+#include "chrome/browser/ui/toolbar/media_router/mock_media_router_action_controller.h"
 #include "chrome/grit/branded_strings.h"
 #include "chrome/grit/generated_resources.h"
 #include "chrome/test/base/browser_with_test_window_test.h"
diff --git a/chrome/browser/ui/toolbar/mock_media_router_action_controller.cc b/chrome/browser/ui/toolbar/media_router/mock_media_router_action_controller.cc
similarity index 85%
rename from chrome/browser/ui/toolbar/mock_media_router_action_controller.cc
rename to chrome/browser/ui/toolbar/media_router/mock_media_router_action_controller.cc
index 4eefe9a0..c7a8cf5 100644
--- a/chrome/browser/ui/toolbar/mock_media_router_action_controller.cc
+++ b/chrome/browser/ui/toolbar/media_router/mock_media_router_action_controller.cc
@@ -2,7 +2,7 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#include "chrome/browser/ui/toolbar/mock_media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/mock_media_router_action_controller.h"
 
 #include "components/media_router/browser/media_router_factory.h"
 
diff --git a/chrome/browser/ui/toolbar/mock_media_router_action_controller.h b/chrome/browser/ui/toolbar/media_router/mock_media_router_action_controller.h
similarity index 74%
rename from chrome/browser/ui/toolbar/mock_media_router_action_controller.h
rename to chrome/browser/ui/toolbar/media_router/mock_media_router_action_controller.h
index f66f8e3..4f5cd58b 100644
--- a/chrome/browser/ui/toolbar/mock_media_router_action_controller.h
+++ b/chrome/browser/ui/toolbar/media_router/mock_media_router_action_controller.h
@@ -2,10 +2,10 @@
 // Use of this source code is governed by a BSD-style license that can be
 // found in the LICENSE file.
 
-#ifndef CHROME_BROWSER_UI_TOOLBAR_MOCK_MEDIA_ROUTER_ACTION_CONTROLLER_H_
-#define CHROME_BROWSER_UI_TOOLBAR_MOCK_MEDIA_ROUTER_ACTION_CONTROLLER_H_
+#ifndef CHROME_BROWSER_UI_TOOLBAR_MOCK_MEDIA_ROUTER_MEDIA_ROUTER_ACTION_CONTROLLER_H_
+#define CHROME_BROWSER_UI_TOOLBAR_MOCK_MEDIA_ROUTER_MEDIA_ROUTER_ACTION_CONTROLLER_H_
 
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
 #include "testing/gmock/include/gmock/gmock.h"
 
 class MockMediaRouterActionController : public MediaRouterActionController {
@@ -30,4 +30,4 @@
   MOCK_METHOD(void, MaybeAddOrRemoveAction, ());
 };
 
-#endif  // CHROME_BROWSER_UI_TOOLBAR_MOCK_MEDIA_ROUTER_ACTION_CONTROLLER_H_
+#endif  // CHROME_BROWSER_UI_TOOLBAR_MOCK_MEDIA_ROUTER_MEDIA_ROUTER_ACTION_CONTROLLER_H_
diff --git a/chrome/browser/ui/views/compose/chrome_compose_dialog_controller.cc b/chrome/browser/ui/views/compose/chrome_compose_dialog_controller.cc
index f3ebf16..cf3b67ac 100644
--- a/chrome/browser/ui/views/compose/chrome_compose_dialog_controller.cc
+++ b/chrome/browser/ui/views/compose/chrome_compose_dialog_controller.cc
@@ -84,12 +84,12 @@
       bubble_->set_close_on_deactivate(false);
 
       // Observe parent widget for resize and repositioning events.
-      // `widget_observation` must not be observing anything so reset it here
-      // before observing.
-      widget_observation_.Reset();
       if (bubble_->GetWidget() && bubble_->GetWidget()->parent()) {
         widget_observation_.Observe(bubble_->GetWidget()->parent());
       }
+
+      zoom_observation_.Observe(
+          zoom::ZoomController::FromWebContents(web_contents_.get()));
     }
   }
 }
@@ -112,6 +112,7 @@
 void ChromeComposeDialogController::Close() {
   // This will no-op if there is no observation.
   widget_observation_.Reset();
+  zoom_observation_.Reset();
   auto* wrapper = GetBubbleWrapper();
   if (wrapper) {
     wrapper->CloseUI();
@@ -139,6 +140,23 @@
   widget_observation_.Reset();
 }
 
+void ChromeComposeDialogController::OnZoomChanged(
+    const zoom::ZoomController::ZoomChangedEventData& data) {
+  if (base::FeatureList::IsEnabled(
+          compose::features::kEnableComposeSavedStateNotification) &&
+      IsDialogShowing()) {
+    // Zooming should close the compose dialog since it does not yet change
+    // position to follow the associated HTML element.
+    Close();
+  }
+}
+
+void ChromeComposeDialogController::OnZoomControllerDestroyed(
+    zoom::ZoomController* zoom_controller) {
+  // This will no-op if there is no observation.
+  zoom_observation_.Reset();
+}
+
 ChromeComposeDialogController::ChromeComposeDialogController(
     content::WebContents* web_contents)
     : web_contents_(web_contents->GetWeakPtr()) {}
diff --git a/chrome/browser/ui/views/compose/chrome_compose_dialog_controller.h b/chrome/browser/ui/views/compose/chrome_compose_dialog_controller.h
index 6f7112a..b3c4a39b 100644
--- a/chrome/browser/ui/views/compose/chrome_compose_dialog_controller.h
+++ b/chrome/browser/ui/views/compose/chrome_compose_dialog_controller.h
@@ -13,6 +13,8 @@
 #include "chrome/browser/ui/webui/compose/compose_ui.h"
 #include "components/compose/core/browser/compose_dialog_controller.h"
 #include "components/strings/grit/components_strings.h"
+#include "components/zoom/zoom_controller.h"
+#include "components/zoom/zoom_observer.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/browser/web_contents_user_data.h"
 #include "ui/views/widget/widget.h"
@@ -25,7 +27,8 @@
 // Controls how Compose dialogs are shown and hidden, and animations related to
 // both actions.
 class ChromeComposeDialogController : public compose::ComposeDialogController,
-                                      views::WidgetObserver {
+                                      views::WidgetObserver,
+                                      zoom::ZoomObserver {
  public:
   explicit ChromeComposeDialogController(content::WebContents* contents);
   ~ChromeComposeDialogController() override;
@@ -54,6 +57,16 @@
   // The destroying event occurs immediately before the widget is destroyed.
   void OnWidgetDestroying(views::Widget* widget) override;
 
+  // zoom::ZoomObserver implementation.
+  // Notification that the zoom percentage has changed.
+  void OnZoomChanged(
+      const zoom::ZoomController::ZoomChangedEventData& data) override;
+
+  // zoom::ZoomObserver implementation.
+  // Fired when the ZoomController is destructed.
+  void OnZoomControllerDestroyed(
+      zoom::ZoomController* zoom_controller) override;
+
  private:
   friend class ChromeComposeDialogControllerTest;
 
@@ -64,6 +77,10 @@
   base::ScopedObservation<views::Widget, views::WidgetObserver>
       widget_observation_{this};
 
+  // Observer for the zoom controller.
+  base::ScopedObservation<zoom::ZoomController, zoom::ZoomObserver>
+      zoom_observation_{this};
+
   base::WeakPtrFactory<ChromeComposeDialogController> weak_ptr_factory_{this};
 };
 
diff --git a/chrome/browser/ui/views/download/bubble/download_bubble_contents_view.cc b/chrome/browser/ui/views/download/bubble/download_bubble_contents_view.cc
index 00f5508..6bab688 100644
--- a/chrome/browser/ui/views/download/bubble/download_bubble_contents_view.cc
+++ b/chrome/browser/ui/views/download/bubble/download_bubble_contents_view.cc
@@ -44,6 +44,7 @@
     views::BubbleDialogDelegate* bubble_delegate)
     : info_(std::move(info)),
       bubble_controller_(bubble_controller),
+      navigation_handler_(navigation_handler),
       bubble_delegate_(bubble_delegate) {
   SetProperty(views::kElementIdentifierKey, kToolbarDownloadBubbleElementId);
   CHECK(!info_->row_list_view_info().rows().empty());
@@ -146,6 +147,11 @@
     return;
   }
   if (DownloadUIModel* model = GetDownloadModel(id); model) {
+    // Calling this before because ProcessDownloadButtonPress may cause
+    // the model item to be deleted during its call.
+    if (navigation_handler_) {
+      navigation_handler_->OnSecurityDialogButtonPress(*model, command);
+    }
     bubble_controller_->ProcessDownloadButtonPress(model->GetWeakPtr(), command,
                                                    /*is_main_view=*/false);
   }
diff --git a/chrome/browser/ui/views/download/bubble/download_bubble_contents_view.h b/chrome/browser/ui/views/download/bubble/download_bubble_contents_view.h
index 0439252..7eee108 100644
--- a/chrome/browser/ui/views/download/bubble/download_bubble_contents_view.h
+++ b/chrome/browser/ui/views/download/bubble/download_bubble_contents_view.h
@@ -116,6 +116,7 @@
   std::unique_ptr<DownloadBubbleContentsViewInfo> info_;
 
   base::WeakPtr<DownloadBubbleUIController> bubble_controller_;
+  base::WeakPtr<DownloadBubbleNavigationHandler> navigation_handler_;
 
   // TODO(crbug.com/1346369): The delegate should outlive the views.
   // Currently, the delegate is deleted in OnNativeWidetDestroyed(),
diff --git a/chrome/browser/ui/views/download/bubble/download_bubble_contents_view_unittest.cc b/chrome/browser/ui/views/download/bubble/download_bubble_contents_view_unittest.cc
index 70baf295..d04c0ed0 100644
--- a/chrome/browser/ui/views/download/bubble/download_bubble_contents_view_unittest.cc
+++ b/chrome/browser/ui/views/download/bubble/download_bubble_contents_view_unittest.cc
@@ -47,6 +47,9 @@
   void OpenSecurityDialog(const offline_items_collection::ContentId&) override {
   }
   void CloseDialog(views::Widget::ClosedReason) override {}
+  void OnSecurityDialogButtonPress(const DownloadUIModel& model,
+                                   DownloadCommands::Command command) override {
+  }
   void ResizeDialog() override {}
   void OnDialogInteracted() override {}
   std::unique_ptr<views::BubbleDialogDelegate::CloseOnDeactivatePin>
diff --git a/chrome/browser/ui/views/download/bubble/download_bubble_security_view_unittest.cc b/chrome/browser/ui/views/download/bubble/download_bubble_security_view_unittest.cc
index beb252a..d570849 100644
--- a/chrome/browser/ui/views/download/bubble/download_bubble_security_view_unittest.cc
+++ b/chrome/browser/ui/views/download/bubble/download_bubble_security_view_unittest.cc
@@ -57,6 +57,9 @@
     last_opened_page_ = DownloadBubbleContentsView::Page::kSecurity;
   }
   void CloseDialog(views::Widget::ClosedReason) override { was_closed_ = true; }
+  void OnSecurityDialogButtonPress(const DownloadUIModel& model,
+                                   DownloadCommands::Command command) override {
+  }
   void ResizeDialog() override {}
   void OnDialogInteracted() override {}
   std::unique_ptr<views::BubbleDialogDelegate::CloseOnDeactivatePin>
diff --git a/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc b/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc
index e73b33f..6bf14fb4 100644
--- a/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc
+++ b/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.cc
@@ -602,6 +602,18 @@
   DeactivateAutoClose();
 }
 
+void DownloadToolbarButtonView::OnSecurityDialogButtonPress(
+    const DownloadUIModel& model,
+    DownloadCommands::Command command) {
+  if (model.GetDangerType() ==
+          download::DOWNLOAD_DANGER_TYPE_UNCOMMON_CONTENT &&
+      command == DownloadCommands::DISCARD) {
+    content::GetUIThreadTaskRunner({})->PostTask(
+        FROM_HERE, base::BindOnce(&DownloadToolbarButtonView::ShowIphPromo,
+                                  weak_factory_.GetWeakPtr()));
+  }
+}
+
 base::WeakPtr<DownloadBubbleNavigationHandler>
 DownloadToolbarButtonView::GetWeakPtr() {
   return weak_factory_.GetWeakPtr();
diff --git a/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.h b/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.h
index 50c599b..bf4dac6f 100644
--- a/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.h
+++ b/chrome/browser/ui/views/download/bubble/download_toolbar_button_view.h
@@ -61,6 +61,10 @@
   // or by focusing (on the partial view).
   virtual void OnDialogInteracted() = 0;
 
+  virtual void OnSecurityDialogButtonPress(
+      const DownloadUIModel& model,
+      DownloadCommands::Command command) = 0;
+
   // Returns a CloseOnDeactivatePin for the download bubble. For the lifetime of
   // the returned pin (if non-null), the download bubble will not close on
   // deactivate. Returns nullptr if the bubble is not open.
@@ -120,6 +124,8 @@
   void OpenSecurityDialog(
       const offline_items_collection::ContentId& content_id) override;
   void CloseDialog(views::Widget::ClosedReason reason) override;
+  void OnSecurityDialogButtonPress(const DownloadUIModel& model,
+                                   DownloadCommands::Command command) override;
   void ResizeDialog() override;
   void OnDialogInteracted() override;
   std::unique_ptr<views::BubbleDialogDelegate::CloseOnDeactivatePin>
@@ -204,12 +210,12 @@
   DownloadBubbleRowView* ShowPrimaryDialogRow(
       std::optional<offline_items_collection::ContentId> content_id);
 
-  // Helper function to show an IPH promo
-  void ShowIphPromo();
-
   // Callback invoked when the partial view is closed.
   void OnPartialViewClosed();
 
+  // Helper function to show an IPH promo.
+  void ShowIphPromo();
+
   // Called to automatically close the partial view, if such closing has not
   // been deactivated.
   void AutoClosePartialView();
diff --git a/chrome/browser/ui/views/file_system_access/file_system_access_browsertest.cc b/chrome/browser/ui/views/file_system_access/file_system_access_browsertest.cc
index 0e40a2d..ca22864 100644
--- a/chrome/browser/ui/views/file_system_access/file_system_access_browsertest.cc
+++ b/chrome/browser/ui/views/file_system_access/file_system_access_browsertest.cc
@@ -558,35 +558,9 @@
   }
 }
 
-class PersistedPermissionsFileSystemAccessBrowserTest
-    : public FileSystemAccessBrowserTest {
- public:
-  PersistedPermissionsFileSystemAccessBrowserTest() {
-    // Enable Persisted Permissions.
-    // TODO(crbug.com/1467574): Remove `kFileSystemAccessPersistentPermissions`
-    // flag after FSA Persistent Permissions feature launch.
-    feature_list_.InitAndEnableFeature(
-        features::kFileSystemAccessPersistentPermissions);
-  }
-
-  void SetUpOnMainThread() override {
-    FileSystemAccessBrowserTest::SetUpOnMainThread();
-  }
-
-  ~PersistedPermissionsFileSystemAccessBrowserTest() override = default;
-
-  PersistedPermissionsFileSystemAccessBrowserTest(
-      const PersistedPermissionsFileSystemAccessBrowserTest&) = delete;
-  PersistedPermissionsFileSystemAccessBrowserTest& operator=(
-      const PersistedPermissionsFileSystemAccessBrowserTest&) = delete;
-
- private:
-  base::test::ScopedFeatureList feature_list_;
-};
-
 // Tests that permissions are revoked after all top-level frames have navigated
 // away to a different origin.
-IN_PROC_BROWSER_TEST_F(PersistedPermissionsFileSystemAccessBrowserTest,
+IN_PROC_BROWSER_TEST_F(FileSystemAccessBrowserTest,
                        RevokePermissionAfterNavigation) {
   const base::FilePath test_file = CreateTestFile("");
   ui::SelectFileDialog::SetFactory(
@@ -736,11 +710,27 @@
             content::EvalJs(third_party_iframe,
                             "self.entry.queryPermission({mode: 'readwrite'})"));
 
+  // Even after triggering the timer in the permission context.
+  FileSystemAccessPermissionContextFactory::GetForProfile(profile)
+      ->TriggerTimersForTesting();
+  EXPECT_EQ("granted",
+            content::EvalJs(third_party_iframe,
+                            "self.entry.queryPermission({mode: 'readwrite'})"));
+
   // Now navigate away from b.com in third window as well.
   ASSERT_TRUE(ui_test_utils::NavigateToURL(
       third_window, https_server.GetURL("a.com", "/title1.html")));
 
-  // Permission should have been revoked.
+  // Permission should still be granted in iframe.
+  EXPECT_EQ("granted",
+            content::EvalJs(third_party_iframe,
+                            "self.entry.queryPermission({mode: 'readwrite'})"));
+
+  // But after triggering the timer in the permission context ...
+  FileSystemAccessPermissionContextFactory::GetForProfile(profile)
+      ->TriggerTimersForTesting();
+
+  // ... permission should have been revoked.
   EXPECT_EQ("prompt",
             content::EvalJs(third_party_iframe,
                             "self.entry.queryPermission({mode: 'readwrite'})"));
@@ -751,7 +741,7 @@
 
 // Tests that permissions are revoked after all top-level frames have been
 // closed.
-IN_PROC_BROWSER_TEST_F(PersistedPermissionsFileSystemAccessBrowserTest,
+IN_PROC_BROWSER_TEST_F(FileSystemAccessBrowserTest,
                        RevokePermissionAfterClosingTab) {
   const base::FilePath test_file = CreateTestFile("");
   ui::SelectFileDialog::SetFactory(
@@ -764,6 +754,8 @@
   content::SetupCrossSiteRedirector(&https_server);
   ASSERT_TRUE(https_server.Start());
 
+  Profile* profile = browser()->profile();
+
   // Create two separate windows:
 
   // 1. Showing https://b.com/title1.html
@@ -875,7 +867,16 @@
   ASSERT_EQ(browser()->tab_strip_model()->GetActiveWebContents(),
             third_party_web_contents);
 
-  // Permission should have been revoked.
+  // Permission should still be granted in iframe.
+  EXPECT_EQ("granted",
+            content::EvalJs(third_party_iframe,
+                            "self.entry.queryPermission({mode: 'readwrite'})"));
+
+  // But after triggering the timer in the permission context ...
+  FileSystemAccessPermissionContextFactory::GetForProfile(profile)
+      ->TriggerTimersForTesting();
+
+  // ... permission should have been revoked.
   EXPECT_EQ("prompt",
             content::EvalJs(third_party_iframe,
                             "self.entry.queryPermission({mode: 'readwrite'})"));
@@ -884,6 +885,32 @@
                             "self.entry.queryPermission({mode: 'read'})"));
 }
 
+class PersistedPermissionsFileSystemAccessBrowserTest
+    : public FileSystemAccessBrowserTest {
+ public:
+  PersistedPermissionsFileSystemAccessBrowserTest() {
+    // Enable Persisted Permissions.
+    // TODO(crbug.com/1467574): Remove `kFileSystemAccessPersistentPermissions`
+    // flag after FSA Persistent Permissions feature launch.
+    feature_list_.InitAndEnableFeature(
+        features::kFileSystemAccessPersistentPermissions);
+  }
+
+  void SetUpOnMainThread() override {
+    FileSystemAccessBrowserTest::SetUpOnMainThread();
+  }
+
+  ~PersistedPermissionsFileSystemAccessBrowserTest() override = default;
+
+  PersistedPermissionsFileSystemAccessBrowserTest(
+      const PersistedPermissionsFileSystemAccessBrowserTest&) = delete;
+  PersistedPermissionsFileSystemAccessBrowserTest& operator=(
+      const PersistedPermissionsFileSystemAccessBrowserTest&) = delete;
+
+ private:
+  base::test::ScopedFeatureList feature_list_;
+};
+
 IN_PROC_BROWSER_TEST_F(PersistedPermissionsFileSystemAccessBrowserTest,
                        UsageIndicatorVisibleWithPersistedPermissionsEnabled) {
   const GURL test_url = embedded_test_server()->GetURL("/title1.html");
diff --git a/chrome/browser/ui/views/hover_button_controller.cc b/chrome/browser/ui/views/hover_button_controller.cc
index 1639187..bdf98345 100644
--- a/chrome/browser/ui/views/hover_button_controller.cc
+++ b/chrome/browser/ui/views/hover_button_controller.cc
@@ -23,8 +23,9 @@
 bool HoverButtonController::OnKeyPressed(const ui::KeyEvent& event) {
   const bool pressed = callback() && ((event.key_code() == ui::VKEY_SPACE) ||
                                       (event.key_code() == ui::VKEY_RETURN));
-  if (pressed)
-    callback().Run(event);
+  if (pressed) {
+    delegate()->NotifyClick(event);
+  }
   return pressed;
 }
 
@@ -51,7 +52,7 @@
       delegate()->IsTriggerableEvent(event) &&
       button()->HitTestPoint(event.location()) && !delegate()->InDrag()) {
     if (callback()) {
-      callback().Run(event);
+      delegate()->NotifyClick(event);
     }
   } else {
     ButtonController::OnMouseReleased(event);
@@ -62,7 +63,7 @@
   if (event->type() == ui::ET_GESTURE_TAP) {
     button()->SetState(views::Button::STATE_NORMAL);
     if (callback()) {
-      callback().Run(*event);
+      delegate()->NotifyClick(*event);
     }
   } else {
     ButtonController::OnGestureEvent(event);
diff --git a/chrome/browser/ui/views/media_router/cast_toolbar_button.h b/chrome/browser/ui/views/media_router/cast_toolbar_button.h
index e4c9c1a..50f25836 100644
--- a/chrome/browser/ui/views/media_router/cast_toolbar_button.h
+++ b/chrome/browser/ui/views/media_router/cast_toolbar_button.h
@@ -6,8 +6,8 @@
 #define CHROME_BROWSER_UI_VIEWS_MEDIA_ROUTER_CAST_TOOLBAR_BUTTON_H_
 
 #include "base/memory/raw_ptr.h"
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
-#include "chrome/browser/ui/toolbar/media_router_contextual_menu.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_button.h"
 #include "components/media_router/browser/issues_observer.h"
 #include "components/media_router/browser/mirroring_media_controller_host.h"
diff --git a/chrome/browser/ui/views/media_router/cast_toolbar_button_unittest.cc b/chrome/browser/ui/views/media_router/cast_toolbar_button_unittest.cc
index 2c8503b0..d0f7b20b 100644
--- a/chrome/browser/ui/views/media_router/cast_toolbar_button_unittest.cc
+++ b/chrome/browser/ui/views/media_router/cast_toolbar_button_unittest.cc
@@ -16,8 +16,8 @@
 #include "chrome/browser/ui/color/chrome_color_id.h"
 #include "chrome/browser/ui/media_router/media_router_ui_service.h"
 #include "chrome/browser/ui/media_router/media_router_ui_service_factory.h"
-#include "chrome/browser/ui/toolbar/media_router_contextual_menu.h"
-#include "chrome/browser/ui/toolbar/mock_media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_contextual_menu.h"
+#include "chrome/browser/ui/toolbar/media_router/mock_media_router_action_controller.h"
 #include "chrome/test/base/test_browser_window.h"
 #include "chrome/test/base/testing_profile.h"
 #include "chrome/test/views/chrome_views_test_base.h"
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 5ecd1f1..ae9d95d1 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
@@ -6,7 +6,7 @@
 
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/media_router/media_router_ui_service.h"
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/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"
diff --git a/chrome/browser/ui/views/media_router/media_router_ui_browsertest.cc b/chrome/browser/ui/views/media_router/media_router_ui_browsertest.cc
index a175b7c..ff3c0df 100644
--- a/chrome/browser/ui/views/media_router/media_router_ui_browsertest.cc
+++ b/chrome/browser/ui/views/media_router/media_router_ui_browsertest.cc
@@ -15,7 +15,7 @@
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/browser/ui/media_router/media_router_ui_service.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/media_router/app_menu_test_api.h"
 #include "chrome/browser/ui/views/media_router/cast_dialog_view.h"
diff --git a/chrome/browser/ui/views/media_router/media_router_ui_interactive_uitest.cc b/chrome/browser/ui/views/media_router/media_router_ui_interactive_uitest.cc
index d7e4f16..489e3f3 100644
--- a/chrome/browser/ui/views/media_router/media_router_ui_interactive_uitest.cc
+++ b/chrome/browser/ui/views/media_router/media_router_ui_interactive_uitest.cc
@@ -14,7 +14,7 @@
 #include "chrome/browser/ui/browser_window.h"
 #include "chrome/browser/ui/media_router/media_router_ui_service.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/browser/ui/toolbar/media_router_action_controller.h"
+#include "chrome/browser/ui/toolbar/media_router/media_router_action_controller.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/media_router/app_menu_test_api.h"
 #include "chrome/browser/ui/views/media_router/cast_dialog_coordinator.h"
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
index 231e7c1c..3e4daeb 100644
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.cc
@@ -46,8 +46,6 @@
                                       kBlockButtonElementId);
 DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(PermissionPromptBubbleBaseView,
                                       kAllowButtonElementId);
-DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(PermissionPromptBubbleBaseView,
-                                      kAllowOnceButtonElementId);
 
 PermissionPromptBubbleBaseView::PermissionPromptBubbleBaseView(
     Browser* browser,
@@ -85,18 +83,13 @@
         views::BoxLayout::Orientation::kVertical, gfx::Insets(),
         DISTANCE_BUTTON_VERTICAL));
 
-    auto allow_once_button =
-        views::Builder<views::MdTextButton>()
-            .SetText(l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME))
-            .SetCallback(base::BindRepeating(
-                &PermissionPromptBubbleBaseView::
-                    FilterUnintenedEventsAndRunCallbacks,
-                base::Unretained(this),
-                GetViewId(PermissionDialogButton::kAcceptOnce)))
-            .SetID(GetViewId(PermissionDialogButton::kAcceptOnce))
-            .SetProperty(views::kElementIdentifierKey,
-                         kAllowOnceButtonElementId)
-            .Build();
+    auto allow_once_button = std::make_unique<views::MdTextButton>(
+        base::BindRepeating(&PermissionPromptBubbleBaseView::
+                                FilterUnintenedEventsAndRunCallbacks,
+                            base::Unretained(this),
+                            GetViewId(PermissionDialogButton::kAcceptOnce)),
+        l10n_util::GetStringUTF16(IDS_PERMISSION_ALLOW_THIS_TIME));
+    allow_once_button->SetID(GetViewId(PermissionDialogButton::kAcceptOnce));
 
     auto allow_always_button = std::make_unique<views::MdTextButton>(
         base::BindRepeating(&PermissionPromptBubbleBaseView::
diff --git a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.h b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.h
index 1b9b7d6..3b088e4 100644
--- a/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.h
+++ b/chrome/browser/ui/views/permissions/permission_prompt_bubble_base_view.h
@@ -45,7 +45,6 @@
   DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kMainViewId);
   DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kBlockButtonElementId);
   DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kAllowButtonElementId);
-  DECLARE_CLASS_ELEMENT_IDENTIFIER_VALUE(kAllowOnceButtonElementId);
   PermissionPromptBubbleBaseView(
       Browser* browser,
       base::WeakPtr<permissions::PermissionPrompt::Delegate> delegate,
diff --git a/chrome/browser/ui/views/toolbar/chrome_labs_browsertest.cc b/chrome/browser/ui/views/toolbar/chrome_labs_browsertest.cc
index e71e597..365294a6 100644
--- a/chrome/browser/ui/views/toolbar/chrome_labs_browsertest.cc
+++ b/chrome/browser/ui/views/toolbar/chrome_labs_browsertest.cc
@@ -7,8 +7,8 @@
 #include "chrome/browser/about_flags.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/test/test_browser_dialog.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_utils.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
 #include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/toolbar/chrome_labs_bubble_view.h"
diff --git a/chrome/browser/ui/views/toolbar/chrome_labs_bubble_view.cc b/chrome/browser/ui/views/toolbar/chrome_labs_bubble_view.cc
index a66014a0..07f1b99 100644
--- a/chrome/browser/ui/views/toolbar/chrome_labs_bubble_view.cc
+++ b/chrome/browser/ui/views/toolbar/chrome_labs_bubble_view.cc
@@ -14,7 +14,7 @@
 #include "chrome/browser/flag_descriptions.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_element_identifiers.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
 #include "chrome/browser/ui/views/toolbar/chrome_labs_button.h"
 #include "chrome/browser/ui/views/toolbar/chrome_labs_item_view.h"
 #include "chrome/browser/ui/webui/flags/flags_ui.h"
diff --git a/chrome/browser/ui/views/toolbar/chrome_labs_button.cc b/chrome/browser/ui/views/toolbar/chrome_labs_button.cc
index fc80f39..fdb14e7 100644
--- a/chrome/browser/ui/views/toolbar/chrome_labs_button.cc
+++ b/chrome/browser/ui/views/toolbar/chrome_labs_button.cc
@@ -11,8 +11,8 @@
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_element_identifiers.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_utils.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/toolbar/chrome_labs_bubble_view.h"
 #include "chrome/browser/ui/views/toolbar/chrome_labs_coordinator.h"
diff --git a/chrome/browser/ui/views/toolbar/chrome_labs_button.h b/chrome/browser/ui/views/toolbar/chrome_labs_button.h
index ed024996..05f069d 100644
--- a/chrome/browser/ui/views/toolbar/chrome_labs_button.h
+++ b/chrome/browser/ui/views/toolbar/chrome_labs_button.h
@@ -7,7 +7,7 @@
 
 #include "base/memory/raw_ptr.h"
 #include "build/chromeos_buildflags.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
 #include "chrome/browser/ui/views/toolbar/chrome_labs_coordinator.h"
 #include "chrome/browser/ui/views/toolbar/toolbar_button.h"
 #include "ui/base/metadata/metadata_header_macros.h"
diff --git a/chrome/browser/ui/views/toolbar/chrome_labs_button_unittest.cc b/chrome/browser/ui/views/toolbar/chrome_labs_button_unittest.cc
index f71560b..06d6c66c 100644
--- a/chrome/browser/ui/views/toolbar/chrome_labs_button_unittest.cc
+++ b/chrome/browser/ui/views/toolbar/chrome_labs_button_unittest.cc
@@ -7,9 +7,9 @@
 #include "base/memory/raw_ptr.h"
 #include "base/test/scoped_feature_list.h"
 #include "chrome/browser/about_flags.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_utils.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
 #include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/frame/test_with_browser_view.h"
diff --git a/chrome/browser/ui/views/toolbar/chrome_labs_coordinator.h b/chrome/browser/ui/views/toolbar/chrome_labs_coordinator.h
index 81c84c5..60d8045 100644
--- a/chrome/browser/ui/views/toolbar/chrome_labs_coordinator.h
+++ b/chrome/browser/ui/views/toolbar/chrome_labs_coordinator.h
@@ -8,7 +8,7 @@
 #include "base/memory/raw_ptr.h"
 #include "build/buildflag.h"
 #include "build/chromeos_buildflags.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
 #include "components/flags_ui/flags_state.h"
 #include "components/flags_ui/flags_storage.h"
 #include "ui/views/view_observer.h"
diff --git a/chrome/browser/ui/views/toolbar/chrome_labs_item_view.cc b/chrome/browser/ui/views/toolbar/chrome_labs_item_view.cc
index fb23548..c5a1374b 100644
--- a/chrome/browser/ui/views/toolbar/chrome_labs_item_view.cc
+++ b/chrome/browser/ui/views/toolbar/chrome_labs_item_view.cc
@@ -11,7 +11,7 @@
 #include "chrome/browser/flag_descriptions.h"
 #include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/chrome_pages.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
 #include "chrome/browser/ui/views/chrome_layout_provider.h"
 #include "chrome/browser/ui/views/chrome_typography.h"
 #include "chrome/grit/generated_resources.h"
diff --git a/chrome/browser/ui/views/toolbar/chrome_labs_unittest.cc b/chrome/browser/ui/views/toolbar/chrome_labs_unittest.cc
index b4e1259..c30d565 100644
--- a/chrome/browser/ui/views/toolbar/chrome_labs_unittest.cc
+++ b/chrome/browser/ui/views/toolbar/chrome_labs_unittest.cc
@@ -9,9 +9,9 @@
 #include "base/test/task_environment.h"
 #include "base/time/time.h"
 #include "chrome/browser/about_flags.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_utils.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
 #include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/frame/test_with_browser_view.h"
diff --git a/chrome/browser/ui/views/toolbar/chrome_labs_view_controller.cc b/chrome/browser/ui/views/toolbar/chrome_labs_view_controller.cc
index cc1a94f..82d192ac 100644
--- a/chrome/browser/ui/views/toolbar/chrome_labs_view_controller.cc
+++ b/chrome/browser/ui/views/toolbar/chrome_labs_view_controller.cc
@@ -21,9 +21,9 @@
 #include "chrome/browser/flag_descriptions.h"
 #include "chrome/browser/lifetime/application_lifetime.h"
 #include "chrome/browser/ui/browser.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_utils.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
 #include "chrome/browser/ui/views/toolbar/chrome_labs_bubble_view.h"
 #include "chrome/browser/ui/views/toolbar/chrome_labs_item_view.h"
 #include "chrome/common/buildflags.h"
diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.cc b/chrome/browser/ui/views/toolbar/toolbar_view.cc
index 63e9b615d..0cf2fbd 100644
--- a/chrome/browser/ui/views/toolbar/toolbar_view.cc
+++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc
@@ -47,9 +47,9 @@
 #include "chrome/browser/ui/side_panel/companion/companion_utils.h"
 #include "chrome/browser/ui/side_search/side_search_utils.h"
 #include "chrome/browser/ui/tabs/tab_strip_model.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_prefs.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_utils.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_utils.h"
 #include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/view_ids.h"
 #include "chrome/browser/ui/views/bookmarks/bookmark_bubble_view.h"
diff --git a/chrome/browser/ui/views/toolbar/toolbar_view.h b/chrome/browser/ui/views/toolbar/toolbar_view.h
index 0509769..ec3e34a8 100644
--- a/chrome/browser/ui/views/toolbar/toolbar_view.h
+++ b/chrome/browser/ui/views/toolbar/toolbar_view.h
@@ -16,7 +16,7 @@
 #include "chrome/browser/ui/page_action/page_action_icon_type.h"
 #include "chrome/browser/ui/toolbar/app_menu_icon_controller.h"
 #include "chrome/browser/ui/toolbar/back_forward_menu_model.h"
-#include "chrome/browser/ui/toolbar/chrome_labs_model.h"
+#include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_model.h"
 #include "chrome/browser/ui/views/frame/browser_root_view.h"
 #include "chrome/browser/ui/views/frame/toolbar_button_provider.h"
 #include "chrome/browser/ui/views/intent_picker_bubble_view.h"
diff --git a/chrome/browser/ui/views/user_education/browser_user_education_service.cc b/chrome/browser/ui/views/user_education/browser_user_education_service.cc
index 28bffcb..73483834 100644
--- a/chrome/browser/ui/views/user_education/browser_user_education_service.cc
+++ b/chrome/browser/ui/views/user_education/browser_user_education_service.cc
@@ -11,6 +11,7 @@
 #include "build/chromeos_buildflags.h"
 #include "chrome/browser/profiles/profile.h"
 #include "chrome/browser/search/search.h"
+#include "chrome/browser/ui/browser.h"
 #include "chrome/browser/ui/browser_element_identifiers.h"
 #include "chrome/browser/ui/browser_finder.h"
 #include "chrome/browser/ui/browser_navigator.h"
@@ -22,6 +23,7 @@
 #include "chrome/browser/ui/toolbar/reading_list_sub_menu_model.h"
 #include "chrome/browser/ui/ui_features.h"
 #include "chrome/browser/ui/user_education/show_promo_in_page.h"
+#include "chrome/browser/ui/views/bookmarks/bookmark_bar_view.h"
 #include "chrome/browser/ui/views/frame/browser_view.h"
 #include "chrome/browser/ui/views/location_bar/cookie_controls/cookie_controls_icon_view.h"
 #include "chrome/browser/ui/views/user_education/browser_help_bubble.h"
@@ -72,6 +74,7 @@
 namespace {
 
 const char kTabGroupTutorialMetricPrefix[] = "TabGroup";
+const char kSavedTabGroupTutorialMetricPrefix[] = "SavedTabGroup";
 const char kCustomizeChromeTutorialMetricPrefix[] = "CustomizeChromeSidePanel";
 const char kSideSearchTutorialMetricPrefix[] = "SideSearch";
 const char kPasswordManagerTutorialMetricPrefix[] = "PasswordManager";
@@ -93,6 +96,26 @@
                std::move(if_condition))) {}
 };
 
+class ScopedSavedTabGroupTutorialState
+    : public user_education::ScopedTutorialState {
+ public:
+  explicit ScopedSavedTabGroupTutorialState(ui::ElementContext ctx)
+      : user_education::ScopedTutorialState(ctx),
+        browser_(chrome::FindBrowserWithUiElementContext(ctx)) {
+    CHECK(browser_);
+    browser_->SetForceShowBookmarkBarFlag(
+        Browser::ForceShowBookmarkBarFlag::kTabGroupsTutorialActive);
+  }
+
+  ~ScopedSavedTabGroupTutorialState() override {
+    browser_->ClearForceShowBookmarkBarFlag(
+        Browser::ForceShowBookmarkBarFlag::kTabGroupsTutorialActive);
+  }
+
+ private:
+  raw_ptr<Browser> browser_;
+};
+
 bool HasTabGroups(const BrowserView* browser_view) {
   return !browser_view->browser()
               ->tab_strip_model()
@@ -884,6 +907,84 @@
               .SetBubbleTitleText(IDS_TUTORIAL_GENERIC_SUCCESS_TITLE)
               .SetBubbleBodyText(IDS_TUTORIAL_TAB_GROUP_SUCCESS_DESCRIPTION)));
 
+  {  // Saved Tab Group tutorial.
+    auto saved_tab_group_tutorial =
+        TutorialDescription::Create<kSavedTabGroupTutorialMetricPrefix>(
+            IfView(kBrowserViewElementId, base::BindRepeating(&HasTabGroups))
+                .Then(
+                    // Point at the tab group header and say rick-click on
+                    // group name to open the editor bubble.
+                    BubbleStep(kTabGroupHeaderElementId)
+                        .SetBubbleBodyText(
+                            IDS_TUTORIAL_SAVED_TAB_GROUP_OPEN_EDITOR)
+                        .SetBubbleArrow(HelpBubbleArrow::kTopCenter))
+                .Else(
+                    // Point at the tab strip and say right-click a tab and
+                    // choose "Add tab to new group".
+                    BubbleStep(kTabStripRegionElementId)
+                        .SetBubbleBodyText(
+                            IDS_TUTORIAL_SAVED_TAB_GROUP_ADD_TAB_TO_GROUP),
+
+                    // Wait for the tab group to be created.
+                    HiddenStep::WaitForShowEvent(kTabGroupHeaderElementId)),
+
+            // Wait for the editor bubble to appear.
+            HiddenStep::WaitForShowEvent(kTabGroupEditorBubbleId),
+
+            // Point at editor bubble "Name your group, turn on save".
+            BubbleStep(kTabGroupEditorBubbleSaveToggleId)
+                .SetBubbleBodyText(IDS_TUTORIAL_SAVED_TAB_GROUP_NAME_SAVE_GROUP)
+                .SetBubbleArrow(HelpBubbleArrow::kLeftCenter),
+
+            // Wait for save group sync to be toggled.
+            HiddenStep::WaitForActivated(kTabGroupEditorBubbleSaveToggleId),
+
+            // Point at editor bubble "Hide group" to save it for later in the
+            // bookmarks bar.
+            BubbleStep(kTabGroupEditorBubbleCloseGroupButtonId)
+                .SetBubbleBodyText(IDS_TUTORIAL_SAVED_TAB_GROUP_HIDE_GROUP)
+                .SetBubbleArrow(HelpBubbleArrow::kLeftCenter),
+
+            // Wait for the hide group to be pressed.
+            HiddenStep::WaitForActivated(
+                kTabGroupEditorBubbleCloseGroupButtonId),
+
+            // Wait for the bookmarks bar to show.
+            HiddenStep::WaitForShown(kBookmarkBarElementId),
+
+            // Point at bookmark bar with message to open the previously
+            // closed saved tab group.
+            BubbleStep(kSavedTabGroupButtonElementId)
+                .SetBubbleBodyText(IDS_TUTORIAL_SAVED_TAB_GROUP_REOPEN_GROUP)
+                .SetBubbleArrow(HelpBubbleArrow::kTopLeft),
+
+            // Wait for the saved tab groups button in bookmarks bar to be
+            // activated.
+            HiddenStep::WaitForActivated(kSavedTabGroupButtonElementId),
+
+            // Wait for saved tabs groups to be reopened.
+            HiddenStep::WaitForShowEvent(kTabGroupHeaderElementId)
+                .NameElement(kTabGroupHeaderElementName),
+
+            // Point at tab group header and show the success message for the
+            // tutorial.
+            BubbleStep(kTabGroupHeaderElementName)
+                .SetBubbleTitleText(IDS_TUTORIAL_GENERIC_SUCCESS_TITLE)
+                .SetBubbleBodyText(
+                    IDS_TUTORIAL_SAVED_TAB_GROUP_SUCCESS_DESCRIPTION)
+                .SetBubbleArrow(HelpBubbleArrow::kTopCenter));
+    // Attach a temporary state callback to force show bookmarks bar
+    // during the lifetime of the tutorial.
+    saved_tab_group_tutorial.temporary_state_callback = base::BindRepeating(
+        [](ui::ElementContext context)
+            -> std::unique_ptr<user_education::ScopedTutorialState> {
+          return base::WrapUnique(
+              new ScopedSavedTabGroupTutorialState(context));
+        });
+    tutorial_registry.AddTutorial(kSavedTabGroupTutorialId,
+                                  std::move(saved_tab_group_tutorial));
+  }
+
   // Side panel customize chrome
   tutorial_registry.AddTutorial(
       kSidePanelCustomizeChromeTutorialId,
diff --git a/chrome/browser/ui/web_applications/web_app_profile_deletion_browsertest.cc b/chrome/browser/ui/web_applications/web_app_profile_deletion_browsertest.cc
index fca3138..14fcd61 100644
--- a/chrome/browser/ui/web_applications/web_app_profile_deletion_browsertest.cc
+++ b/chrome/browser/ui/web_applications/web_app_profile_deletion_browsertest.cc
@@ -21,6 +21,7 @@
 #include "chrome/browser/web_applications/test/web_app_install_test_utils.h"
 #include "chrome/browser/web_applications/test/web_app_test_observers.h"
 #include "chrome/browser/web_applications/web_app_command_scheduler.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "chrome/browser/web_applications/web_app_provider.h"
 #include "chrome/browser/web_applications/web_app_registrar.h"
 #include "chrome/browser/web_applications/web_contents/web_app_data_retriever.h"
@@ -295,8 +296,8 @@
   base::test::TestFuture<IconsDownloadedResult, IconsMap,
                          DownloadedIconsHttpResults>
       icon_download_future;
-  base::flat_set<GURL> icon_urls;
-  icon_urls.emplace("https://www.example.com/favicon.ico");
+  IconUrlSizeSet icon_urls;
+  icon_urls.emplace("https://www.example.com/favicon.ico", gfx::Size());
   icon_downloader.Start(deleting_web_contents.get(), icon_urls,
                         icon_download_future.GetCallback(),
                         IconDownloaderOptions());
@@ -360,8 +361,8 @@
   base::test::TestFuture<IconsDownloadedResult, IconsMap,
                          DownloadedIconsHttpResults>
       icon_download_future;
-  base::flat_set<GURL> icon_urls;
-  icon_urls.emplace("https://www.example.com/favicon.ico");
+  IconUrlSizeSet icon_urls;
+  icon_urls.emplace("https://www.example.com/favicon.ico", gfx::Size());
   data_retriever.GetIcons(deleting_web_contents.get(), icon_urls,
                           /*skip_page_favicons=*/false,
                           /*fail_all_if_any_fail=*/false,
diff --git a/chrome/browser/ui/webui/ash/office_fallback/office_fallback_dialog.cc b/chrome/browser/ui/webui/ash/office_fallback/office_fallback_dialog.cc
index b567542..66c7090 100644
--- a/chrome/browser/ui/webui/ash/office_fallback/office_fallback_dialog.cc
+++ b/chrome/browser/ui/webui/ash/office_fallback/office_fallback_dialog.cc
@@ -26,6 +26,7 @@
 // inspector tool.
 const int kOfflineHeight = 264;
 const int kDriveUnavailableHeight = 244;
+const int kMeteredHeight = 264;
 
 // Return the task title id for the task represented by the `action_id`.
 int GetTaskTitleId(const std::string& action_id) {
@@ -70,13 +71,18 @@
     case ash::office_fallback::FallbackReason::kNoDriveService:
     case ash::office_fallback::FallbackReason::kDriveAuthenticationNotReady:
     case ash::office_fallback::FallbackReason::kDriveFsInterfaceError:
-    case ash::office_fallback::FallbackReason::kMeteredConnection:
       title_id = IDS_OFFICE_FALLBACK_TITLE_DRIVE_UNAVAILABLE;
       reason_message_id = IDS_OFFICE_FALLBACK_REASON_DRIVE_UNAVAILABLE;
       instructions_message_id =
           IDS_OFFICE_FALLBACK_INSTRUCTIONS_DRIVE_UNAVAILABLE;
       height = kDriveUnavailableHeight;
       break;
+    case ash::office_fallback::FallbackReason::kMeteredConnection:
+      title_id = IDS_OFFICE_FALLBACK_TITLE_METERED;
+      reason_message_id = IDS_OFFICE_FALLBACK_REASON_METERED;
+      instructions_message_id = IDS_OFFICE_FALLBACK_INSTRUCTIONS_METERED;
+      height = kMeteredHeight;
+      break;
   }
 }
 }  // namespace
@@ -134,7 +140,10 @@
   // IDS_OFFICE_FALLBACK_TITLE_WEB_DRIVE_UNAVAILABLE.
   const std::string title_text = l10n_util::GetStringFUTF8(title_id, file_name);
   const std::string reason_message =
-      l10n_util::GetStringFUTF8(reason_message_id, task_title);
+      fallback_reason ==
+              ash::office_fallback::FallbackReason::kMeteredConnection
+          ? l10n_util::GetStringUTF8(reason_message_id)
+          : l10n_util::GetStringFUTF8(reason_message_id, task_title);
   const std::string instructions_message =
       l10n_util::GetStringUTF8(instructions_message_id);
 
diff --git a/chrome/browser/ui/webui/ash/settings/os_settings_ui.cc b/chrome/browser/ui/webui/ash/settings/os_settings_ui.cc
index af8101ea..57aa5e2 100644
--- a/chrome/browser/ui/webui/ash/settings/os_settings_ui.cc
+++ b/chrome/browser/ui/webui/ash/settings/os_settings_ui.cc
@@ -49,7 +49,6 @@
 #include "chromeos/ash/services/auth_factor_config/in_process_instances.h"
 #include "chromeos/ash/services/cellular_setup/cellular_setup_impl.h"
 #include "chromeos/ash/services/cellular_setup/public/mojom/esim_manager.mojom.h"
-#include "chromeos/constants/chromeos_features.h"
 #include "components/pref_registry/pref_registry_syncable.h"
 #include "components/prefs/pref_service.h"
 #include "content/public/browser/web_contents.h"
@@ -328,11 +327,6 @@
 
 void OSSettingsUI::BindInterface(
     mojo::PendingReceiver<color_change_listener::mojom::PageHandler> receiver) {
-  if (!chromeos::features::IsJellyEnabled()) {
-    mojo::ReportBadMessage(
-        "Jelly not enabled: OSSettingsUI should not listen to color changes.");
-    return;
-  }
   color_provider_handler_ = std::make_unique<ui::ColorChangeHandler>(
       web_ui()->GetWebContents(), std::move(receiver));
 }
diff --git a/chrome/browser/ui/webui/ash/settings/pages/device/input_device_settings/input_device_settings_provider.cc b/chrome/browser/ui/webui/ash/settings/pages/device/input_device_settings/input_device_settings_provider.cc
index d32272e..0cc1c3c 100644
--- a/chrome/browser/ui/webui/ash/settings/pages/device/input_device_settings/input_device_settings_provider.cc
+++ b/chrome/browser/ui/webui/ash/settings/pages/device/input_device_settings/input_device_settings_provider.cc
@@ -55,6 +55,10 @@
      AcceleratorAction::kToggleFullscreenMagnifier},
     {IDS_SETTINGS_DICTATION_ON_OFF_OPTION_LABEL,
      AcceleratorAction::kEnableOrToggleDictation},
+    {IDS_SETTINGS_LEFT_CLICK_OPTION_LABEL,
+     ::ash::mojom::StaticShortcutAction::kLeftClick},
+    {IDS_SETTINGS_RIGHT_CLICK_OPTION_LABEL,
+     ::ash::mojom::StaticShortcutAction::kRightClick},
     {IDS_SETTINGS_MIDDLE_CLICK_OPTION_LABEL,
      ::ash::mojom::StaticShortcutAction::kMiddleClick},
 };
diff --git a/chrome/browser/ui/webui/ash/settings/services/settings_manager/os_settings_manager.cc b/chrome/browser/ui/webui/ash/settings/services/settings_manager/os_settings_manager.cc
index e905cfe..fdde078f 100644
--- a/chrome/browser/ui/webui/ash/settings/services/settings_manager/os_settings_manager.cc
+++ b/chrome/browser/ui/webui/ash/settings/services/settings_manager/os_settings_manager.cc
@@ -72,8 +72,11 @@
   for (const auto& section : sections_->sections()) {
     section->AddLoadTimeData(html_source);
   }
+
+  // TODO(b/319740292) Remove this boolean once no shared UI code depends on it.
   html_source->AddBoolean("isJellyEnabled",
                           chromeos::features::IsJellyEnabled());
+
   html_source->AddBoolean("isCrosComponentsEnabled",
                           chromeos::features::IsCrosComponentsEnabled());
   html_source->AddBoolean("isSelfShareEnabled", features::IsSelfShareEnabled());
diff --git a/chrome/browser/ui/webui/internals/user_education/user_education_internals_page_handler_impl.cc b/chrome/browser/ui/webui/internals/user_education/user_education_internals_page_handler_impl.cc
index c32ec7e..a2c8fcd4 100644
--- a/chrome/browser/ui/webui/internals/user_education/user_education_internals_page_handler_impl.cc
+++ b/chrome/browser/ui/webui/internals/user_education/user_education_internals_page_handler_impl.cc
@@ -279,6 +279,10 @@
   return FeaturePromoDemoPageData::New(key, strvalue);
 }
 
+auto FormatDemoPageData(const char* key, bool value) {
+  return FeaturePromoDemoPageData::New(key, value ? "yes" : "no");
+}
+
 auto GetPromoData(
     const user_education::FeaturePromoSpecification& spec,
     const user_education::FeaturePromoStorageService* storage_service,
@@ -307,17 +311,27 @@
           result.emplace_back(FormatDemoPageData("Last snooze time",
                                                  promo_data->last_snooze_time));
         }
-        result.emplace_back(FormatDemoPageData(
-            "Dismissed?", promo_data->is_dismissed ? "yes" : "no"));
+        result.emplace_back(
+            FormatDemoPageData("Dismissed?", promo_data->is_dismissed));
         result.emplace_back(FormatDemoPageData("Last dismissed by",
                                                promo_data->last_dismissed_by,
                                                /*is_constant=*/true));
       }
     }
   }
-  result.emplace_back(FormatDemoPageData(
-      "Blocked by Feature Engagement?",
-      tracker->WouldTriggerHelpUI(*spec.feature()) ? "no" : "yes"));
+  const bool is_enabled = base::FeatureList::IsEnabled(*spec.feature());
+  result.emplace_back(FormatDemoPageData("Feature enabled?", is_enabled));
+  for (const auto& [config, count] : tracker->ListEvents(*spec.feature())) {
+    std::ostringstream oss;
+    oss << "Required condition: " << config.name << config.comparator
+        << " Actual:";
+    result.emplace_back(FormatDemoPageData(oss.str().c_str(), count));
+  }
+  if (is_enabled) {
+    result.emplace_back(
+        FormatDemoPageData("Feature Engagement Tracker OK?",
+                           tracker->WouldTriggerHelpUI(*spec.feature())));
+  }
   return result;
 }
 
@@ -493,14 +507,19 @@
     return;
   }
 
+  auto* const tracker =
+      feature_engagement::TrackerFactory::GetForBrowserContext(profile_);
+  if (!tracker || !tracker->IsInitialized()) {
+    std::move(callback).Run(std::string("Feature Engagement not ready."));
+  }
+
   auto* const storage_service = GetStorageService(profile_);
   if (!storage_service) {
     std::move(callback).Run(std::string("No storage service."));
     return;
   }
 
-  // TODO(dfried): Clear FE tracker data.
-
+  tracker->ClearEventData(*feature);
   storage_service->Reset(*feature);
   std::move(callback).Run(std::string());
 }
diff --git a/chrome/browser/ui/webui/on_device_internals/on_device_internals_ui.cc b/chrome/browser/ui/webui/on_device_internals/on_device_internals_ui.cc
index 65ba191d..a479347f 100644
--- a/chrome/browser/ui/webui/on_device_internals/on_device_internals_ui.cc
+++ b/chrome/browser/ui/webui/on_device_internals/on_device_internals_ui.cc
@@ -45,13 +45,14 @@
   // Warm the service while assets load in the background.
   std::ignore = GetService();
 
+  // This WebUI currently provides no way to dynamically configure the expected
+  // output dimension of the TS model. Since the model is in flux and its output
+  // dimension can change, it would be easy to accidentally load an incompatible
+  // model and crash the service. Hence we omit TS model assets for now.
   on_device_model::ModelAssetPaths model_paths;
   model_paths.sp_model = model_path.Append(optimization_guide::kSpModelFile);
   model_paths.model = model_path.Append(optimization_guide::kModelFile);
   model_paths.weights = model_path.Append(optimization_guide::kWeightsFile);
-  model_paths.ts_data = model_path.Append(optimization_guide::kTsDataFile);
-  model_paths.ts_sp_model =
-      model_path.Append(optimization_guide::kTsSpModelFile);
   base::ThreadPool::PostTaskAndReplyWithResult(
       FROM_HERE, {base::MayBlock()},
       base::BindOnce(&on_device_model::LoadModelAssets, model_paths),
diff --git a/chrome/browser/user_education/user_education_service.cc b/chrome/browser/user_education/user_education_service.cc
index 6e606f157..5b64328 100644
--- a/chrome/browser/user_education/user_education_service.cc
+++ b/chrome/browser/user_education/user_education_service.cc
@@ -14,6 +14,7 @@
 const char kSidePanelCustomizeChromeTutorialId[] =
     "Side Panel Customize Chrome Tutorial";
 const char kTabGroupTutorialId[] = "Tab Group Tutorial";
+const char kSavedTabGroupTutorialId[] = "Saved Tab Group Tutorial";
 const char kPasswordManagerTutorialId[] = "Password Manager Tutorial";
 
 UserEducationService::UserEducationService(
diff --git a/chrome/browser/user_education/user_education_service.h b/chrome/browser/user_education/user_education_service.h
index ffe5bbf..976d2f98 100644
--- a/chrome/browser/user_education/user_education_service.h
+++ b/chrome/browser/user_education/user_education_service.h
@@ -19,6 +19,7 @@
 #include "components/user_education/common/tutorial_registry.h"
 
 extern const char kTabGroupTutorialId[];
+extern const char kSavedTabGroupTutorialId[];
 extern const char kSidePanelCustomizeChromeTutorialId[];
 extern const char kPasswordManagerTutorialId[];
 
diff --git a/chrome/browser/web_applications/commands/external_app_resolution_command.cc b/chrome/browser/web_applications/commands/external_app_resolution_command.cc
index ade2787..579c269f 100644
--- a/chrome/browser/web_applications/commands/external_app_resolution_command.cc
+++ b/chrome/browser/web_applications/commands/external_app_resolution_command.cc
@@ -286,7 +286,7 @@
   // If the manifest specified icons, don't use the page icons.
   const bool skip_page_favicons = opt_manifest && !opt_manifest->icons.empty();
 
-  base::flat_set<GURL> icon_urls = GetValidIconUrlsToDownload(*web_app_info_);
+  IconUrlSizeSet icon_urls = GetValidIconUrlsToDownload(*web_app_info_);
 
   if (!web_contents_->GetVisibleURL().EqualsIgnoringRef(
           GURL(url::kAboutBlankURL))) {
@@ -308,7 +308,7 @@
 }
 
 void ExternalAppResolutionCommand::OnPreparedForIconRetrieving(
-    base::flat_set<GURL> icon_urls,
+    IconUrlSizeSet icon_urls,
     bool skip_page_favicons,
     WebAppUrlLoaderResult result) {
   data_retriever_->GetIcons(
diff --git a/chrome/browser/web_applications/commands/external_app_resolution_command.h b/chrome/browser/web_applications/commands/external_app_resolution_command.h
index 4f63bb0..1c61618 100644
--- a/chrome/browser/web_applications/commands/external_app_resolution_command.h
+++ b/chrome/browser/web_applications/commands/external_app_resolution_command.h
@@ -24,6 +24,7 @@
 #include "chrome/browser/web_applications/os_integration/os_integration_manager.h"
 #include "chrome/browser/web_applications/web_app_constants.h"
 #include "chrome/browser/web_applications/web_app_install_info.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "chrome/browser/web_applications/web_app_logging.h"
 #include "chrome/browser/web_applications/web_contents/web_app_url_loader.h"
 #include "components/services/app_service/public/cpp/app_launch_util.h"
@@ -95,7 +96,7 @@
                                     const GURL& manifest_url,
                                     bool valid_manifest_for_web_app,
                                     webapps::InstallableStatusCode error_code);
-  void OnPreparedForIconRetrieving(base::flat_set<GURL> icon_urls,
+  void OnPreparedForIconRetrieving(IconUrlSizeSet icon_urls,
                                    bool skip_page_favicons,
                                    WebAppUrlLoaderResult result);
   void OnIconsRetrievedUpgradeLockDescription(
diff --git a/chrome/browser/web_applications/commands/fetch_install_info_from_install_url_command.cc b/chrome/browser/web_applications/commands/fetch_install_info_from_install_url_command.cc
index 6fef0f84..81a9ae8 100644
--- a/chrome/browser/web_applications/commands/fetch_install_info_from_install_url_command.cc
+++ b/chrome/browser/web_applications/commands/fetch_install_info_from_install_url_command.cc
@@ -13,6 +13,7 @@
 #include "chrome/browser/web_applications/locks/shared_web_contents_lock.h"
 #include "chrome/browser/web_applications/web_app_command_manager.h"
 #include "chrome/browser/web_applications/web_app_helpers.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "chrome/browser/web_applications/web_contents/web_app_data_retriever.h"
 #include "chrome/browser/web_applications/web_contents/web_app_url_loader.h"
 #include "chrome/browser/web_applications/web_contents/web_contents_manager.h"
@@ -192,7 +193,7 @@
 
   // If the manifest specified icons, don't use the page icons.
   const bool skip_page_favicons = opt_manifest && !opt_manifest->icons.empty();
-  base::flat_set<GURL> icon_urls = GetValidIconUrlsToDownload(*web_app_info);
+  IconUrlSizeSet icon_urls = GetValidIconUrlsToDownload(*web_app_info);
 
   data_retriever_->GetIcons(
       &lock_->shared_web_contents(), std::move(icon_urls), skip_page_favicons,
diff --git a/chrome/browser/web_applications/commands/fetch_manifest_and_install_command.cc b/chrome/browser/web_applications/commands/fetch_manifest_and_install_command.cc
index 23353fc..8700262 100644
--- a/chrome/browser/web_applications/commands/fetch_manifest_and_install_command.cc
+++ b/chrome/browser/web_applications/commands/fetch_manifest_and_install_command.cc
@@ -358,7 +358,7 @@
         *web_app_info_);
   }
 
-  base::flat_set<GURL> icon_urls = GetValidIconUrlsToDownload(*web_app_info_);
+  IconUrlSizeSet icon_urls = GetValidIconUrlsToDownload(*web_app_info_);
 
   opt_manifest_ = std::move(opt_manifest);
 
@@ -376,7 +376,7 @@
 }
 
 void FetchManifestAndInstallCommand::CheckForPlayStoreIntentOrGetIcons(
-    base::flat_set<GURL> icon_urls,
+    IconUrlSizeSet icon_urls,
     bool skip_page_favicons,
     std::unique_ptr<AppLock> app_lock) {
   app_lock_ = std::move(app_lock);
@@ -435,7 +435,7 @@
 }
 
 void FetchManifestAndInstallCommand::OnDidCheckForIntentToPlayStore(
-    base::flat_set<GURL> icon_urls,
+    IconUrlSizeSet icon_urls,
     bool skip_page_favicons,
     const std::string& intent,
     bool should_intent_to_store) {
@@ -482,7 +482,7 @@
 
 #if BUILDFLAG(IS_CHROMEOS_LACROS)
 void FetchManifestAndInstallCommand::OnDidCheckForIntentToPlayStoreLacros(
-    base::flat_set<GURL> icon_urls,
+    IconUrlSizeSet icon_urls,
     bool skip_page_favicons,
     const std::string& intent,
     crosapi::mojom::IsInstallableResult result) {
diff --git a/chrome/browser/web_applications/commands/fetch_manifest_and_install_command.h b/chrome/browser/web_applications/commands/fetch_manifest_and_install_command.h
index 0d3c8a7..eac72fc 100644
--- a/chrome/browser/web_applications/commands/fetch_manifest_and_install_command.h
+++ b/chrome/browser/web_applications/commands/fetch_manifest_and_install_command.h
@@ -15,6 +15,7 @@
 #include "chrome/browser/web_applications/os_integration/os_integration_manager.h"
 #include "chrome/browser/web_applications/web_app_install_manager.h"
 #include "chrome/browser/web_applications/web_app_install_params.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "chrome/browser/web_applications/web_app_logging.h"
 #include "chrome/browser/web_applications/web_app_ui_manager.h"
 #include "components/webapps/browser/install_result_code.h"
@@ -91,13 +92,13 @@
   // should be stopped and an intent to the Play Store should be made, or
   // synchronously calls OnDidCheckForIntentToPlayStore() implicitly failing the
   // check if it cannot be made.
-  void CheckForPlayStoreIntentOrGetIcons(base::flat_set<GURL> icon_urls,
+  void CheckForPlayStoreIntentOrGetIcons(IconUrlSizeSet icon_urls,
                                          bool skip_page_favicons,
                                          std::unique_ptr<AppLock> app_lock);
 
   // Called when the asynchronous check for whether an intent to the Play Store
   // should be made returns.
-  void OnDidCheckForIntentToPlayStore(base::flat_set<GURL> icon_urls,
+  void OnDidCheckForIntentToPlayStore(IconUrlSizeSet icon_urls,
                                       bool skip_page_favicons,
                                       const std::string& intent,
                                       bool should_intent_to_store);
@@ -107,7 +108,7 @@
   // should be made returns (Lacros adapter that calls
   // |OnDidCheckForIntentToPlayStore| based on |result|).
   void OnDidCheckForIntentToPlayStoreLacros(
-      base::flat_set<GURL> icon_urls,
+      IconUrlSizeSet icon_urls,
       bool skip_page_favicons,
       const std::string& intent,
       crosapi::mojom::IsInstallableResult result);
diff --git a/chrome/browser/web_applications/commands/generated_icon_fix_command.cc b/chrome/browser/web_applications/commands/generated_icon_fix_command.cc
index c6e06faa..58405997 100644
--- a/chrome/browser/web_applications/commands/generated_icon_fix_command.cc
+++ b/chrome/browser/web_applications/commands/generated_icon_fix_command.cc
@@ -24,6 +24,7 @@
 #include "chrome/browser/web_applications/web_contents/web_app_icon_downloader.h"
 #include "chrome/browser/web_applications/web_contents/web_contents_manager.h"
 #include "chrome/common/chrome_features.h"
+#include "ui/gfx/geometry/size.h"
 
 namespace web_app {
 
@@ -69,14 +70,14 @@
   app = lock_->registrar().GetAppById(app_id_);
 
   icon_downloader_ = lock_->web_contents_manager().CreateIconDownloader();
-  base::flat_set<GURL> icon_urls;
+  IconUrlSizeSet icon_urls;
   install_info_.manifest_icons = app->manifest_icons();
   // Set title and start_url for PopulateProductIcons() in case it tries to
   // generate icons again.
   install_info_.title = base::UTF8ToUTF16(app->untranslated_name());
   install_info_.start_url = app->start_url();
   for (const apps::IconInfo& icon_info : install_info_.manifest_icons) {
-    icon_urls.insert(icon_info.url);
+    icon_urls.insert(std::make_tuple(icon_info.url, gfx::Size()));
   }
   icon_downloader_->Start(
       &lock_->shared_web_contents(), icon_urls,
diff --git a/chrome/browser/web_applications/commands/install_from_sync_command.cc b/chrome/browser/web_applications/commands/install_from_sync_command.cc
index 34177389..e48405a 100644
--- a/chrome/browser/web_applications/commands/install_from_sync_command.cc
+++ b/chrome/browser/web_applications/commands/install_from_sync_command.cc
@@ -235,7 +235,7 @@
   // forever.
   // TODO(https://crbug.com/1328977): Allow favicons without waiting for them to
   // be updated on the page.
-  base::flat_set<GURL> icon_urls = GetValidIconUrlsToDownload(*install_info_);
+  IconUrlSizeSet icon_urls = GetValidIconUrlsToDownload(*install_info_);
   data_retriever_->GetIcons(
       &lock_->shared_web_contents(), std::move(icon_urls),
       /*skip_page_favicons=*/true,
@@ -293,7 +293,7 @@
   GetMutableDebugValue().Set("fallback_install", true);
   GetMutableDebugValue().Set("fallback_install_reason", base::ToString(code));
 
-  base::flat_set<GURL> icon_urls =
+  IconUrlSizeSet icon_urls =
       GetValidIconUrlsToDownload(*fallback_install_info_);
 
   base::UmaHistogramEnumeration("WebApp.Install.SyncFallbackInstallInitiated",
diff --git a/chrome/browser/web_applications/commands/install_preloaded_verified_app_command.cc b/chrome/browser/web_applications/commands/install_preloaded_verified_app_command.cc
index 32eb59c..47bc3aa5 100644
--- a/chrome/browser/web_applications/commands/install_preloaded_verified_app_command.cc
+++ b/chrome/browser/web_applications/commands/install_preloaded_verified_app_command.cc
@@ -147,17 +147,19 @@
 
   UpdateWebAppInfoFromManifest(*manifest, manifest_url_, web_app_info_.get());
 
-  base::flat_set<GURL> icon_urls = GetValidIconUrlsToDownload(*web_app_info_);
-  base::EraseIf(icon_urls, [](const GURL& url) {
-    for (const auto& allowed_host : kHostAllowlist) {
-      if (url.DomainIs(allowed_host)) {
-        // Found a match, don't erase this url!
-        return false;
-      }
-    }
-    // No matches, erase this url!
-    return true;
-  });
+  IconUrlSizeSet icon_urls = GetValidIconUrlsToDownload(*web_app_info_);
+  base::EraseIf(icon_urls,
+                [](const std::tuple<GURL, gfx::Size>& url_with_size) {
+                  for (const auto& allowed_host : kHostAllowlist) {
+                    const GURL url(get<GURL>(url_with_size));
+                    if (url.DomainIs(allowed_host)) {
+                      // Found a match, don't erase this url!
+                      return false;
+                    }
+                  }
+                  // No matches, erase this url!
+                  return true;
+                });
 
   if (icon_urls.empty()) {
     // Abort if there are no icons to download, so we can distinguish this case
diff --git a/chrome/browser/web_applications/commands/manifest_update_check_command.cc b/chrome/browser/web_applications/commands/manifest_update_check_command.cc
index 11b9245..137d6cf 100644
--- a/chrome/browser/web_applications/commands/manifest_update_check_command.cc
+++ b/chrome/browser/web_applications/commands/manifest_update_check_command.cc
@@ -17,6 +17,7 @@
 #include "chrome/browser/web_applications/manifest_update_manager.h"
 #include "chrome/browser/web_applications/web_app.h"
 #include "chrome/browser/web_applications/web_app_helpers.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "chrome/browser/web_applications/web_app_registrar.h"
 #include "chrome/browser/web_applications/web_app_registry_update.h"
 #include "chrome/browser/web_applications/web_app_sync_bridge.h"
@@ -200,8 +201,7 @@
   }
 
   CHECK(new_install_info_);
-  base::flat_set<GURL> icon_urls =
-      GetValidIconUrlsToDownload(*new_install_info_);
+  IconUrlSizeSet icon_urls = GetValidIconUrlsToDownload(*new_install_info_);
 
   IconDownloaderOptions options = {.skip_page_favicons = true,
                                    .fail_all_if_any_fail = true};
diff --git a/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_install_command_helper.cc b/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_install_command_helper.cc
index e8e0165..6d17b26 100644
--- a/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_install_command_helper.cc
+++ b/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_install_command_helper.cc
@@ -508,7 +508,7 @@
     content::WebContents& web_contents,
     base::OnceCallback<void(base::expected<WebAppInstallInfo, std::string>)>
         callback) {
-  base::flat_set<GURL> icon_urls = GetValidIconUrlsToDownload(install_info);
+  IconUrlSizeSet icon_urls = GetValidIconUrlsToDownload(install_info);
   data_retriever_->GetIcons(
       &web_contents, std::move(icon_urls),
       /*skip_page_favicons=*/true,
diff --git a/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_install_command_helper_unittest.cc b/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_install_command_helper_unittest.cc
index 079f5c6..655bf126 100644
--- a/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_install_command_helper_unittest.cc
+++ b/chrome/browser/web_applications/isolated_web_apps/isolated_web_app_install_command_helper_unittest.cc
@@ -54,6 +54,7 @@
 #include "testing/gtest/include/gtest/gtest.h"
 #include "third_party/blink/public/mojom/manifest/manifest.mojom-shared.h"
 #include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/gfx/geometry/size.h"
 #include "ui/gfx/image/image_unittest_util.h"
 #include "url/gurl.h"
 
@@ -737,10 +738,11 @@
 
   std::unique_ptr<MockDataRetriever> fake_data_retriever =
       CreateDefaultDataRetriever(kSomeTestApplicationUrl);
-  EXPECT_CALL(*fake_data_retriever,
-              GetIcons(_, UnorderedElementsAre(img_url),
-                       /*skip_page_favicons=*/true,
-                       /*fail_all_if_any_fail=*/true, IsNotNullCallback()))
+  EXPECT_CALL(
+      *fake_data_retriever,
+      GetIcons(_, UnorderedElementsAre(std::make_tuple(img_url, gfx::Size())),
+               /*skip_page_favicons=*/true,
+               /*fail_all_if_any_fail=*/true, IsNotNullCallback()))
       .WillOnce(RunOnceCallback<4>(IconsDownloadedResult::kCompleted,
                                    std::move(icons), http_result));
   auto command_helper = std::make_unique<IsolatedWebAppInstallCommandHelper>(
diff --git a/chrome/browser/web_applications/jobs/install_placeholder_job.cc b/chrome/browser/web_applications/jobs/install_placeholder_job.cc
index f7d00aa..228de2f 100644
--- a/chrome/browser/web_applications/jobs/install_placeholder_job.cc
+++ b/chrome/browser/web_applications/jobs/install_placeholder_job.cc
@@ -23,6 +23,7 @@
 #include "chrome/browser/web_applications/web_contents/web_contents_manager.h"
 #include "components/webapps/browser/install_result_code.h"
 #include "content/public/browser/web_contents.h"
+#include "ui/gfx/geometry/size.h"
 
 class Profile;
 
@@ -101,7 +102,8 @@
   CHECK(web_contents_ && !web_contents_->IsBeingDestroyed());
 
   data_retriever_->GetIcons(
-      web_contents_.get(), {url}, /*skip_page_favicons=*/true,
+      web_contents_.get(), {std::make_tuple(url, gfx::Size())},
+      /*skip_page_favicons=*/true,
       /*fail_all_if_any_fail=*/false,
       base::BindOnce(&InstallPlaceholderJob::OnCustomIconFetched,
                      weak_factory_.GetWeakPtr(), url, retries_left));
diff --git a/chrome/browser/web_applications/jobs/install_placeholder_job_unittest.cc b/chrome/browser/web_applications/jobs/install_placeholder_job_unittest.cc
index b50963b0..e8a4e39 100644
--- a/chrome/browser/web_applications/jobs/install_placeholder_job_unittest.cc
+++ b/chrome/browser/web_applications/jobs/install_placeholder_job_unittest.cc
@@ -188,8 +188,10 @@
       {icon_url, net::HttpStatusCode::HTTP_OK}};
   EXPECT_CALL(
       *data_retriever,
-      GetIcons(testing::_, testing::ElementsAre(icon_url), skip_page_favicons,
-               fail_all_if_any_fail, base::test::IsNotNullCallback()))
+      GetIcons(testing::_,
+               testing::ElementsAre(std::make_tuple(icon_url, gfx::Size())),
+               skip_page_favicons, fail_all_if_any_fail,
+               base::test::IsNotNullCallback()))
       .WillOnce(base::test::RunOnceCallback<4>(
           IconsDownloadedResult::kCompleted, std::move(icons), http_result));
 
diff --git a/chrome/browser/web_applications/test/fake_data_retriever.cc b/chrome/browser/web_applications/test/fake_data_retriever.cc
index dfacda0..7fdced67 100644
--- a/chrome/browser/web_applications/test/fake_data_retriever.cc
+++ b/chrome/browser/web_applications/test/fake_data_retriever.cc
@@ -12,6 +12,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "base/task/sequenced_task_runner.h"
 #include "chrome/browser/web_applications/web_app_helpers.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "components/webapps/browser/installable/installable_logging.h"
 #include "components/webapps/browser/installable/installable_params.h"
 #include "third_party/blink/public/mojom/manifest/manifest.mojom.h"
@@ -46,7 +47,7 @@
 }
 
 void FakeDataRetriever::GetIcons(content::WebContents* web_contents,
-                                 const base::flat_set<GURL>& icon_urls,
+                                 const IconUrlSizeSet& icon_urls,
                                  bool skip_page_favicons,
                                  bool fail_all_if_any_fail,
                                  GetIconsCallback callback) {
diff --git a/chrome/browser/web_applications/test/fake_data_retriever.h b/chrome/browser/web_applications/test/fake_data_retriever.h
index 2372ea4..f941ccd 100644
--- a/chrome/browser/web_applications/test/fake_data_retriever.h
+++ b/chrome/browser/web_applications/test/fake_data_retriever.h
@@ -38,7 +38,7 @@
       CheckInstallabilityCallback callback,
       std::optional<webapps::InstallableParams> params) override;
   void GetIcons(content::WebContents* web_contents,
-                const base::flat_set<GURL>& icon_urls,
+                const IconUrlSizeSet& icon_urls,
                 bool skip_page_favicons,
                 bool fail_all_if_any_fail,
                 GetIconsCallback callback) override;
diff --git a/chrome/browser/web_applications/test/fake_web_contents_manager.cc b/chrome/browser/web_applications/test/fake_web_contents_manager.cc
index 40f68db..3462249b 100644
--- a/chrome/browser/web_applications/test/fake_web_contents_manager.cc
+++ b/chrome/browser/web_applications/test/fake_web_contents_manager.cc
@@ -14,6 +14,7 @@
 #include "base/strings/utf_string_conversions.h"
 #include "chrome/browser/web_applications/web_app_helpers.h"
 #include "chrome/browser/web_applications/web_app_install_info.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "chrome/browser/web_applications/web_contents/web_app_data_retriever.h"
 #include "chrome/browser/web_applications/web_contents/web_app_icon_downloader.h"
 #include "chrome/browser/web_applications/web_contents/web_app_url_loader.h"
@@ -115,14 +116,16 @@
   ~FakeWebAppIconDownloader() override = default;
 
   void Start(content::WebContents* web_contents,
-             const base::flat_set<GURL>& extra_icon_urls,
+             const IconUrlSizeSet& extra_icon_urls,
              WebAppIconDownloaderCallback callback,
              IconDownloaderOptions options) override {
     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
     CHECK(manager_);
     IconsMap icons_map;
     DownloadedIconsHttpResults per_icon_results;
-    for (const GURL& icon_url : extra_icon_urls) {
+    for (const std::tuple<GURL, gfx::Size>& icon_url_with_size :
+         extra_icon_urls) {
+      GURL icon_url = get<GURL>(icon_url_with_size);
       auto icons_it = manager_->icon_state_.find(icon_url);
       if (icons_it == manager_->icon_state_.end()) {
         DLOG(WARNING) << "No icon state at url: " << icon_url.spec();
@@ -285,7 +288,7 @@
   }
 
   void GetIcons(content::WebContents* web_contents,
-                const base::flat_set<GURL>& extra_favicon_urls,
+                const IconUrlSizeSet& extra_favicon_urls,
                 bool skip_page_favicons,
                 bool fail_all_if_any_fail,
                 GetIconsCallback callback) override {
diff --git a/chrome/browser/web_applications/test/mock_data_retriever.h b/chrome/browser/web_applications/test/mock_data_retriever.h
index 07b0e2d7..1c49c172 100644
--- a/chrome/browser/web_applications/test/mock_data_retriever.h
+++ b/chrome/browser/web_applications/test/mock_data_retriever.h
@@ -8,6 +8,7 @@
 #include <optional>
 
 #include "base/containers/flat_set.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "chrome/browser/web_applications/web_contents/web_app_data_retriever.h"
 #include "components/webapps/browser/installable/installable_params.h"
 #include "testing/gmock/include/gmock/gmock.h"
@@ -40,7 +41,7 @@
   MOCK_METHOD(void,
               GetIcons,
               (content::WebContents * web_contents,
-               const base::flat_set<GURL>& icon_urls,
+               const IconUrlSizeSet& icon_urls,
                bool skip_page_favicons,
                bool fail_all_if_any_fail,
                GetIconsCallback callback),
diff --git a/chrome/browser/web_applications/web_app_install_utils.cc b/chrome/browser/web_applications/web_app_install_utils.cc
index 94af211..e27dcad 100644
--- a/chrome/browser/web_applications/web_app_install_utils.cc
+++ b/chrome/browser/web_applications/web_app_install_utils.cc
@@ -782,24 +782,26 @@
 
 namespace {
 
-std::vector<GURL> GetAppIconUrls(const WebAppInstallInfo& web_app_info) {
-  std::vector<GURL> urls;
+std::vector<IconUrlsWithSizes> GetAppIconUrls(
+    const WebAppInstallInfo& web_app_info) {
+  std::vector<IconUrlsWithSizes> urls;
 
   for (const apps::IconInfo& info : web_app_info.manifest_icons) {
-    urls.push_back(info.url);
+    urls.emplace_back(info.url, gfx::Size());
   }
 
   return urls;
 }
 
-std::vector<GURL> GetShortcutIcons(const WebAppInstallInfo& web_app_info) {
-  std::vector<GURL> urls;
+std::vector<IconUrlsWithSizes> GetShortcutIcons(
+    const WebAppInstallInfo& web_app_info) {
+  std::vector<IconUrlsWithSizes> urls;
   for (const WebAppShortcutsMenuItemInfo& shortcut :
        web_app_info.shortcuts_menu_item_infos) {
     for (IconPurpose purpose : kIconPurposes) {
       for (const WebAppShortcutsMenuItemInfo::Icon& icon :
            shortcut.GetShortcutIconInfosForPurpose(purpose)) {
-        urls.push_back(icon.url);
+        urls.emplace_back(icon.url, gfx::Size());
       }
     }
   }
@@ -807,20 +809,22 @@
   return urls;
 }
 
-std::vector<GURL> GetFileHandlingIcons(const WebAppInstallInfo& web_app_info) {
-  std::vector<GURL> urls;
+std::vector<IconUrlsWithSizes> GetFileHandlingIcons(
+    const WebAppInstallInfo& web_app_info) {
+  std::vector<IconUrlsWithSizes> urls;
 
   for (const apps::FileHandler& file_handler : web_app_info.file_handlers) {
     for (const apps::IconInfo& icon : file_handler.downloaded_icons) {
-      urls.push_back(icon.url);
+      urls.emplace_back(icon.url, gfx::Size());
     }
   }
 
   return urls;
 }
 
-std::vector<GURL> GetHomeTabIcons(const WebAppInstallInfo& web_app_info) {
-  std::vector<GURL> urls;
+std::vector<IconUrlsWithSizes> GetHomeTabIcons(
+    const WebAppInstallInfo& web_app_info) {
+  std::vector<IconUrlsWithSizes> urls;
 
   if (!HomeTabIconsExistInTabStrip(&web_app_info)) {
     return urls;
@@ -830,25 +834,27 @@
       web_app_info.tab_strip.value().home_tab);
 
   for (const auto& icon : home_tab.icons) {
-    urls.push_back(icon.src);
+    urls.emplace_back(icon.src, gfx::Size());
   }
 
   return urls;
 }
 
-base::flat_set<GURL> RemoveDuplicates(std::vector<GURL> from_urls) {
-  return base::flat_set<GURL>{from_urls};
+IconUrlSizeSet RemoveDuplicates(std::vector<IconUrlsWithSizes> from_urls) {
+  return IconUrlSizeSet{from_urls};
 }
 
-void RemoveInvalidUrls(std::vector<GURL>& urls) {
-  base::EraseIf(urls, [](const GURL& url) { return !url.is_valid(); });
+void RemoveInvalidUrls(std::vector<IconUrlsWithSizes>& urls) {
+  base::EraseIf(urls, [](const std::tuple<GURL, gfx::Size>& url) {
+    return !get<GURL>(url).is_valid();
+  });
 }
 
 }  // namespace
 
-base::flat_set<GURL> GetValidIconUrlsToDownload(
+IconUrlSizeSet GetValidIconUrlsToDownload(
     const WebAppInstallInfo& web_app_info) {
-  std::vector<GURL> icon_urls;
+  std::vector<IconUrlsWithSizes> icon_urls;
 
   base::Extend(icon_urls, GetAppIconUrls(web_app_info));
   base::Extend(icon_urls, GetShortcutIcons(web_app_info));
diff --git a/chrome/browser/web_applications/web_app_install_utils.h b/chrome/browser/web_applications/web_app_install_utils.h
index e4a2884..eeab357 100644
--- a/chrome/browser/web_applications/web_app_install_utils.h
+++ b/chrome/browser/web_applications/web_app_install_utils.h
@@ -33,6 +33,10 @@
 enum class WebappUninstallSource;
 }  // namespace webapps
 
+namespace gfx {
+class Size;
+}  // namespace gfx
+
 namespace web_app {
 
 class WebApp;
@@ -45,6 +49,22 @@
   kUnknown,
 };
 
+// An empty gfx::Size() (where width & height are both 0) signifies no preferred
+// download size.
+using IconUrlsWithSizes = std::tuple<GURL, gfx::Size>;
+
+struct IconUrlsWithSizesComparator {
+  constexpr bool operator()(const IconUrlsWithSizes& lhs,
+                            const IconUrlsWithSizes& rhs) const {
+    return (get<GURL>(lhs) < get<GURL>(rhs)) ||
+           (get<gfx::Size>(lhs).width() < get<gfx::Size>(rhs).width()) ||
+           (get<gfx::Size>(lhs).height() < get<gfx::Size>(rhs).height());
+  }
+};
+
+using IconUrlSizeSet =
+    base::flat_set<IconUrlsWithSizes, IconUrlsWithSizesComparator>;
+
 // Converts from the manifest type to the Chrome type.
 apps::FileHandlers CreateFileHandlersFromManifest(
     const std::vector<blink::mojom::ManifestFileHandlerPtr>&
@@ -63,8 +83,9 @@
     const blink::mojom::Manifest& manifest,
     const GURL& manifest_url);
 
-// Form a list of icons to download: Remove icons with invalid urls.
-base::flat_set<GURL> GetValidIconUrlsToDownload(
+// Form a list of icons and their sizes to download: Remove icons with invalid
+// urls.
+IconUrlSizeSet GetValidIconUrlsToDownload(
     const WebAppInstallInfo& web_app_info);
 
 // Populate non-product icons in WebAppInstallInfo using the IconsMap. This
diff --git a/chrome/browser/web_applications/web_app_install_utils_unittest.cc b/chrome/browser/web_applications/web_app_install_utils_unittest.cc
index 0964148..3c91174 100644
--- a/chrome/browser/web_applications/web_app_install_utils_unittest.cc
+++ b/chrome/browser/web_applications/web_app_install_utils_unittest.cc
@@ -1656,14 +1656,15 @@
     web_app_info.file_handlers.push_back(file_handler);
   }
 
-  base::flat_set<GURL> download_urls = GetValidIconUrlsToDownload(web_app_info);
+  IconUrlSizeSet download_urls = GetValidIconUrlsToDownload(web_app_info);
 
   const size_t download_urls_size = 8;
   EXPECT_EQ(download_urls_size, download_urls.size());
   for (size_t i = 0; i < download_urls_size; i++) {
     std::string url_str = "http://www.chromium.org/image/icon" +
                           base::NumberToString(i + 1) + ".png";
-    EXPECT_EQ(1u, download_urls.count(GURL(url_str)));
+    EXPECT_EQ(1u,
+              download_urls.count(std::make_tuple(GURL(url_str), gfx::Size())));
   }
 }
 
diff --git a/chrome/browser/web_applications/web_app_run_on_os_login_manager.cc b/chrome/browser/web_applications/web_app_run_on_os_login_manager.cc
index 468d4fb..e34c1b2 100644
--- a/chrome/browser/web_applications/web_app_run_on_os_login_manager.cc
+++ b/chrome/browser/web_applications/web_app_run_on_os_login_manager.cc
@@ -20,6 +20,7 @@
 #include "chrome/browser/web_applications/web_app_utils.h"
 #include "chrome/common/chrome_features.h"
 #include "components/services/app_service/public/cpp/app_launch_util.h"
+#include "content/public/browser/network_service_instance.h"
 #include "content/public/browser/web_contents.h"
 
 namespace web_app {
@@ -30,7 +31,9 @@
 
 WebAppRunOnOsLoginManager::WebAppRunOnOsLoginManager(Profile* profile)
     : profile_(profile) {}
-WebAppRunOnOsLoginManager::~WebAppRunOnOsLoginManager() = default;
+WebAppRunOnOsLoginManager::~WebAppRunOnOsLoginManager() {
+  content::GetNetworkConnectionTracker()->RemoveNetworkConnectionObserver(this);
+}
 
 void WebAppRunOnOsLoginManager::SetProvider(base::PassKey<WebAppProvider>,
                                             WebAppProvider& provider) {
@@ -46,11 +49,19 @@
     return;
   }
 
-  provider_->scheduler().ScheduleCallback(
-      "WebAppRunOnOsLoginManager::RunAppsOnOsLogin", AllAppsLockDescription(),
-      base::BindOnce(&WebAppRunOnOsLoginManager::RunAppsOnOsLogin,
-                     GetWeakPtr()),
-      /*on_complete=*/base::DoNothing());
+  network::mojom::ConnectionType connection_type;
+  // `GetConnectionType` will execute either synchronously (and return true and
+  // store the value in the `connection_type`) or asynchronously (and return
+  // false and call `OnInitialConnectionTypeReceived` once it is done).
+  const bool call_was_synchronous =
+      content::GetNetworkConnectionTracker()->GetConnectionType(
+          &connection_type,
+          base::BindOnce(
+              &WebAppRunOnOsLoginManager::OnInitialConnectionTypeReceived,
+              GetWeakPtr()));
+  if (call_was_synchronous) {
+    OnInitialConnectionTypeReceived(connection_type);
+  }
 }
 
 void WebAppRunOnOsLoginManager::RunAppsOnOsLogin(
@@ -96,6 +107,46 @@
   }
 }
 
+void WebAppRunOnOsLoginManager::OnInitialConnectionTypeReceived(
+    network::mojom::ConnectionType type) {
+  CHECK(!scheduled_run_on_os_login_command_);
+
+  // If there is a connection, schedule ROOL and stop listening to the network
+  // status.
+  if (type != network::mojom::ConnectionType::CONNECTION_NONE) {
+    RunOsLoginAppsAndMaybeUnregisterObserver();
+    return;
+  }
+  // Otherwise, start listening to the network status and wait until the network
+  // connection is restored.
+  content::GetNetworkConnectionTracker()->AddNetworkConnectionObserver(this);
+}
+
+void WebAppRunOnOsLoginManager::OnConnectionChanged(
+    network::mojom::ConnectionType type) {
+  CHECK(!scheduled_run_on_os_login_command_);
+
+  // If there is a connection, schedule ROOL and stop listening to the network
+  // status. Otherwise, keep listening.
+  if (type != network::mojom::ConnectionType::CONNECTION_NONE) {
+    content::GetNetworkConnectionTracker()->RemoveNetworkConnectionObserver(
+        this);
+    RunOsLoginAppsAndMaybeUnregisterObserver();
+  }
+}
+
+void WebAppRunOnOsLoginManager::RunOsLoginAppsAndMaybeUnregisterObserver() {
+  CHECK(!scheduled_run_on_os_login_command_);
+
+  content::GetNetworkConnectionTracker()->RemoveNetworkConnectionObserver(this);
+  scheduled_run_on_os_login_command_ = true;
+  provider_->scheduler().ScheduleCallback(
+      "WebAppRunOnOsLoginManager::RunAppsOnOsLogin", AllAppsLockDescription(),
+      base::BindOnce(&WebAppRunOnOsLoginManager::RunAppsOnOsLogin,
+                     GetWeakPtr()),
+      /*on_complete=*/std::move(completed_closure_));
+}
+
 base::WeakPtr<WebAppRunOnOsLoginManager>
 WebAppRunOnOsLoginManager::GetWeakPtr() {
   return weak_ptr_factory_.GetWeakPtr();
@@ -111,7 +162,12 @@
       "WebAppRunOnOsLoginManager::RunAppsOnOsLogin", AllAppsLockDescription(),
       base::BindOnce(&WebAppRunOnOsLoginManager::RunAppsOnOsLogin,
                      GetWeakPtr()),
-      /*on_complete=*/base::DoNothing());
+      /*on_complete=*/std::move(completed_closure_));
+}
+
+void WebAppRunOnOsLoginManager::SetCompletedClosureForTesting(
+    base::OnceClosure completed_closure) {
+  completed_closure_ = std::move(completed_closure);
 }
 
 }  // namespace web_app
diff --git a/chrome/browser/web_applications/web_app_run_on_os_login_manager.h b/chrome/browser/web_applications/web_app_run_on_os_login_manager.h
index 603668a..f54d2a80 100644
--- a/chrome/browser/web_applications/web_app_run_on_os_login_manager.h
+++ b/chrome/browser/web_applications/web_app_run_on_os_login_manager.h
@@ -5,9 +5,11 @@
 #ifndef CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_RUN_ON_OS_LOGIN_MANAGER_H_
 #define CHROME_BROWSER_WEB_APPLICATIONS_WEB_APP_RUN_ON_OS_LOGIN_MANAGER_H_
 
+#include "base/functional/callback_helpers.h"
 #include "base/memory/raw_ptr.h"
 #include "base/memory/weak_ptr.h"
 #include "base/values.h"
+#include "services/network/public/cpp/network_connection_tracker.h"
 
 class Profile;
 
@@ -18,13 +20,14 @@
 
 // This class runs web apps on OS Login on ChromeOS once the corresponding
 // policy has been read by the WebAppPolicyManager.
-class WebAppRunOnOsLoginManager {
+class WebAppRunOnOsLoginManager
+    : public network::NetworkConnectionTracker::NetworkConnectionObserver {
  public:
   explicit WebAppRunOnOsLoginManager(Profile* profile);
   WebAppRunOnOsLoginManager(const WebAppRunOnOsLoginManager&) = delete;
   WebAppRunOnOsLoginManager& operator=(const WebAppRunOnOsLoginManager&) =
       delete;
-  ~WebAppRunOnOsLoginManager();
+  ~WebAppRunOnOsLoginManager() override;
 
   void SetProvider(base::PassKey<WebAppProvider>, WebAppProvider& provider);
 
@@ -34,10 +37,21 @@
 
   static base::AutoReset<bool> SkipStartupForTesting();
   void RunAppsOnOsLoginForTesting();
+  void SetCompletedClosureForTesting(base::OnceClosure completed_closure);
 
  private:
   void RunAppsOnOsLogin(AllAppsLock& lock, base::Value::Dict& debug_value);
 
+  void OnInitialConnectionTypeReceived(network::mojom::ConnectionType type);
+
+  // network::NetworkConnectionTracker::NetworkConnectionObserver
+  // implementation. Observes network change events.
+  void OnConnectionChanged(network::mojom::ConnectionType type) override;
+
+  void RunOsLoginAppsAndMaybeUnregisterObserver();
+
+  bool scheduled_run_on_os_login_command_ = false;
+  base::OnceClosure completed_closure_ = base::DoNothing();
   raw_ptr<WebAppProvider> provider_ = nullptr;
   const raw_ptr<Profile> profile_;
 
diff --git a/chrome/browser/web_applications/web_app_run_on_os_login_manager_browsertest.cc b/chrome/browser/web_applications/web_app_run_on_os_login_manager_browsertest.cc
index cfd3bef..8554de57 100644
--- a/chrome/browser/web_applications/web_app_run_on_os_login_manager_browsertest.cc
+++ b/chrome/browser/web_applications/web_app_run_on_os_login_manager_browsertest.cc
@@ -6,6 +6,7 @@
 
 #include <vector>
 
+#include "base/auto_reset.h"
 #include "base/strings/strcat.h"
 #include "base/strings/string_number_conversions.h"
 #include "base/test/run_until.h"
@@ -32,15 +33,20 @@
 #include "chrome/browser/web_applications/web_app_run_on_os_login_manager.h"
 #include "chrome/common/chrome_features.h"
 #include "chrome/common/pref_names.h"
+#include "content/public/browser/network_service_instance.h"
 #include "content/public/test/browser_test.h"
 #include "testing/gmock/include/gmock/gmock.h"
 #include "third_party/abseil-cpp/absl/cleanup/cleanup.h"
 
 using testing::_;
 using testing::AllOf;
+using testing::DoAll;
 using testing::Eq;
 using testing::Field;
+using testing::Invoke;
 using testing::Property;
+using testing::Return;
+using testing::SetArgPointee;
 
 namespace web_app {
 
@@ -50,6 +56,26 @@
 
 constexpr char kTestAppName[] = "WebApp";
 
+class MockNetworkConnectionTracker : public network::NetworkConnectionTracker {
+ public:
+  MockNetworkConnectionTracker() = default;
+  MockNetworkConnectionTracker(MockNetworkConnectionTracker&) = delete;
+  MockNetworkConnectionTracker& operator=(const MockNetworkConnectionTracker&) =
+      delete;
+  ~MockNetworkConnectionTracker() override = default;
+
+  MOCK_METHOD(bool,
+              GetConnectionType,
+              (network::mojom::ConnectionType*,
+               network::NetworkConnectionTracker::ConnectionTypeCallback),
+              (override));
+
+  // Make this function visible so we can simulate a call from the test.
+  void OnNetworkChanged(network::mojom::ConnectionType type) override {
+    network::NetworkConnectionTracker::OnNetworkChanged(type);
+  }
+};
+
 class WebAppRunOnOsLoginManagerBrowserTest
     : public WebAppControllerBrowserTest,
       public NotificationDisplayService::Observer {
@@ -57,8 +83,8 @@
   WebAppRunOnOsLoginManagerBrowserTest()
       :  // ROOL startup done manually to ensure that SetUpOnMainThread is run
          // before
-        skip_run_on_os_login_startup_(
-            WebAppRunOnOsLoginManager::SkipStartupForTesting()),
+        skip_run_on_os_login_startup_(std::make_unique<base::AutoReset<bool>>(
+            WebAppRunOnOsLoginManager::SkipStartupForTesting())),
         skip_preinstalled_web_app_startup_(
             PreinstalledWebAppManager::SkipStartupForTesting()) {
     scoped_feature_list_.InitWithFeatures(
@@ -70,7 +96,15 @@
   void SetUpOnMainThread() override {
     notification_tester_ = std::make_unique<NotificationDisplayServiceTester>(
         /*profile=*/profile());
+    mock_tracker_ = std::make_unique<MockNetworkConnectionTracker>();
     WebAppControllerBrowserTest::SetUpOnMainThread();
+    content::SetNetworkConnectionTrackerForTesting(
+        /*network_connection_tracker=*/nullptr);
+    content::SetNetworkConnectionTrackerForTesting(mock_tracker_.get());
+  }
+
+  void TearDownOnMainThread() override {
+    content::SetNetworkConnectionTrackerForTesting(nullptr);
   }
 
   // NotificationDisplayService::Observer:
@@ -143,15 +177,24 @@
     return AppBrowserController::FindForWebApp(*profile(), app_id);
   }
 
-  void RunOsLoginAndWait() {
-    provider().run_on_os_login_manager().RunAppsOnOsLoginForTesting();
-    base::test::TestFuture<void> future;
+  void RunOsLogin() {
+    auto& rool_manager = provider().run_on_os_login_manager();
+    rool_manager.SetCompletedClosureForTesting(completed_future_.GetCallback());
+    rool_manager.Start();
+  }
+
+  void WaitForAllCommandsFinished() {
+    // Wait until the top-level command is added and done.
+    ASSERT_TRUE(completed_future_.Wait());
+    // Wait for the triggered sub-commands to be done.
     provider().command_manager().AwaitAllCommandsCompleteForTesting();
   }
 
-  base::AutoReset<bool> skip_run_on_os_login_startup_;
+  std::unique_ptr<MockNetworkConnectionTracker> mock_tracker_;
+  std::unique_ptr<base::AutoReset<bool>> skip_run_on_os_login_startup_;
   base::AutoReset<bool> skip_preinstalled_web_app_startup_;
   std::unique_ptr<NotificationDisplayServiceTester> notification_tester_;
+  base::test::TestFuture<void> completed_future_;
   base::test::ScopedFeatureList scoped_feature_list_;
   base::ScopedObservation<NotificationDisplayService,
                           WebAppRunOnOsLoginManagerBrowserTest>
@@ -161,11 +204,18 @@
 IN_PROC_BROWSER_TEST_F(
     WebAppRunOnOsLoginManagerBrowserTest,
     WebAppRunOnOsLoginWithInitialPolicyValueLaunchesBrowserWindow) {
+  skip_run_on_os_login_startup_ = nullptr;
+  EXPECT_CALL(*mock_tracker_, GetConnectionType(_, _))
+      .WillRepeatedly(DoAll(
+          SetArgPointee<0>(network::mojom::ConnectionType::CONNECTION_ETHERNET),
+          Return(true)));
+
   AddForceInstalledApp(kTestApp, kTestAppName);
   AddRoolApp(kTestApp, kRunWindowed);
 
   // Wait for ROOL.
-  RunOsLoginAndWait();
+  RunOsLogin();
+  WaitForAllCommandsFinished();
 
   // Should have 2 browsers: normal and app.
   ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile()));
@@ -177,11 +227,132 @@
 IN_PROC_BROWSER_TEST_F(
     WebAppRunOnOsLoginManagerBrowserTest,
     WebAppRunOnOsLoginWithForceInstallLaunchesBrowserWindow) {
+  skip_run_on_os_login_startup_ = nullptr;
+  EXPECT_CALL(*mock_tracker_, GetConnectionType(_, _))
+      .WillRepeatedly(DoAll(
+          SetArgPointee<0>(network::mojom::ConnectionType::CONNECTION_ETHERNET),
+          Return(true)));
+
   AddForceInstalledApp(kTestApp, kTestAppName);
   AddRoolApp(kTestApp, kRunWindowed);
 
   // Wait for ROOL.
-  RunOsLoginAndWait();
+  RunOsLogin();
+  WaitForAllCommandsFinished();
+
+  // Should have 2 browsers: normal and app.
+  ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile()));
+  Browser* app_browser = FindAppBrowser(GURL(kTestApp));
+
+  ASSERT_TRUE(app_browser);
+}
+
+IN_PROC_BROWSER_TEST_F(WebAppRunOnOsLoginManagerBrowserTest,
+                       WebAppRunOnOsLoginNetworkNotConnectedCallSynchronous) {
+  skip_run_on_os_login_startup_ = nullptr;
+  EXPECT_CALL(*mock_tracker_, GetConnectionType(_, _))
+      .WillRepeatedly(DoAll(
+          SetArgPointee<0>(network::mojom::ConnectionType::CONNECTION_NONE),
+          Return(true)));
+
+  AddForceInstalledApp(kTestApp, kTestAppName);
+  AddRoolApp(kTestApp, kRunWindowed);
+
+  // Wait for ROOL.
+  RunOsLogin();
+  base::RunLoop().RunUntilIdle();
+
+  // Should have only the normal browser as there is no network.
+  ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile()));
+
+  // Simulate the network coming back.
+  mock_tracker_->OnNetworkChanged(
+      network::mojom::ConnectionType::CONNECTION_WIFI);
+  WaitForAllCommandsFinished();
+
+  // Should have 2 browsers: normal and app.
+  ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile()));
+  Browser* app_browser = FindAppBrowser(GURL(kTestApp));
+
+  ASSERT_TRUE(app_browser);
+}
+
+IN_PROC_BROWSER_TEST_F(
+    WebAppRunOnOsLoginManagerBrowserTest,
+    WebAppRunOnOsLoginNetworkNotConnectedCallAsynchronousInitiallyConnected) {
+  skip_run_on_os_login_startup_ = nullptr;
+  base::OnceCallback<void(network::mojom::ConnectionType)>
+      connection_changed_callback;
+  EXPECT_CALL(*mock_tracker_, GetConnectionType(_, _))
+      .WillRepeatedly(
+          DoAll([&connection_changed_callback](
+                    network::mojom::ConnectionType*,
+                    base::OnceCallback<void(network::mojom::ConnectionType)>
+                        callback) {
+            connection_changed_callback = std::move(callback);
+            return false;
+          }));
+
+  AddForceInstalledApp(kTestApp, kTestAppName);
+  AddRoolApp(kTestApp, kRunWindowed);
+
+  // Wait for ROOL.
+  RunOsLogin();
+  base::RunLoop().RunUntilIdle();
+
+  // Should have only the normal browser as there is no network.
+  ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile()));
+
+  // Asynchronously notify that there is a network connection
+  std::move(connection_changed_callback)
+      .Run(network::mojom::ConnectionType::CONNECTION_WIFI);
+  WaitForAllCommandsFinished();
+
+  // Should have 2 browsers: normal and app.
+  ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile()));
+  Browser* app_browser = FindAppBrowser(GURL(kTestApp));
+
+  ASSERT_TRUE(app_browser);
+}
+
+IN_PROC_BROWSER_TEST_F(
+    WebAppRunOnOsLoginManagerBrowserTest,
+    WebAppRunOnOsLoginNetworkNotConnectedCallAsynchronousInitiallyDisconnected) {
+  skip_run_on_os_login_startup_ = nullptr;
+  base::OnceCallback<void(network::mojom::ConnectionType)>
+      connection_changed_callback;
+  EXPECT_CALL(*mock_tracker_, GetConnectionType(_, _))
+      .WillRepeatedly(
+          DoAll([&connection_changed_callback](
+                    network::mojom::ConnectionType*,
+                    base::OnceCallback<void(network::mojom::ConnectionType)>
+                        callback) {
+            connection_changed_callback = std::move(callback);
+            return false;
+          }));
+
+  AddForceInstalledApp(kTestApp, kTestAppName);
+  AddRoolApp(kTestApp, kRunWindowed);
+
+  // Wait for ROOL.
+  RunOsLogin();
+  base::RunLoop().RunUntilIdle();
+
+  // Should have only the normal browser as there is no network.
+  ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile()));
+
+  // Asynchronously notify that the device is connected.
+  std::move(connection_changed_callback)
+      .Run(network::mojom::ConnectionType::CONNECTION_NONE);
+  base::RunLoop().RunUntilIdle();
+
+  // Should have only the normal browser as there is no network.
+  ASSERT_EQ(1u, chrome::GetBrowserCount(browser()->profile()));
+
+  // Simulate the network coming back.
+  mock_tracker_->OnNetworkChanged(
+      network::mojom::ConnectionType::CONNECTION_WIFI);
+  WaitForAllCommandsFinished();
 
   // Should have 2 browsers: normal and app.
   ASSERT_EQ(2u, chrome::GetBrowserCount(browser()->profile()));
@@ -209,6 +380,12 @@
 
 IN_PROC_BROWSER_TEST_P(WebAppRunOnOsLoginNotificationBrowserTest,
                        WebAppRunOnOsLoginNotificationOpensManagementUI) {
+  skip_run_on_os_login_startup_ = nullptr;
+  EXPECT_CALL(*mock_tracker_, GetConnectionType(_, _))
+      .WillRepeatedly(DoAll(
+          SetArgPointee<0>(network::mojom::ConnectionType::CONNECTION_ETHERNET),
+          Return(true)));
+
   const auto test_params = GetParam();
   for (size_t i = 0; i < test_params.number_of_rool_apps; i++) {
     const auto app_id = base::StrCat({kTestApp, base::ToString(i)});
@@ -219,7 +396,8 @@
   const absl::Cleanup policy_cleanup = [this]() { ClearWebAppSettings(); };
 
   // Wait for ROOL.
-  RunOsLoginAndWait();
+  RunOsLogin();
+  WaitForAllCommandsFinished();
 
   // Should have `number_of_rool_apps` + 1 browsers: normal and
   // `number_of_rool_apps` apps.
@@ -255,6 +433,12 @@
 
 IN_PROC_BROWSER_TEST_P(WebAppRunOnOsLoginNotificationBrowserTest,
                        WebAppRunOnOsLoginNotification) {
+  skip_run_on_os_login_startup_ = nullptr;
+  EXPECT_CALL(*mock_tracker_, GetConnectionType(_, _))
+      .WillRepeatedly(DoAll(
+          SetArgPointee<0>(network::mojom::ConnectionType::CONNECTION_ETHERNET),
+          Return(true)));
+
   const auto test_params = GetParam();
   for (size_t i = 0; i < test_params.number_of_rool_apps; i++) {
     const auto app_id = base::StrCat({kTestApp, base::ToString(i)});
@@ -265,7 +449,8 @@
   const absl::Cleanup policy_cleanup = [this]() { ClearWebAppSettings(); };
 
   // Wait for ROOL.
-  RunOsLoginAndWait();
+  RunOsLogin();
+  WaitForAllCommandsFinished();
 
   bool notification_shown = base::test::RunUntil([&]() {
     return notification_tester_->GetNotification(kRunOnOsLoginNotificationId)
diff --git a/chrome/browser/web_applications/web_contents/web_app_data_retriever.cc b/chrome/browser/web_applications/web_contents/web_app_data_retriever.cc
index 48902af6..9a877ea 100644
--- a/chrome/browser/web_applications/web_contents/web_app_data_retriever.cc
+++ b/chrome/browser/web_applications/web_contents/web_app_data_retriever.cc
@@ -19,6 +19,7 @@
 #include "chrome/browser/web_applications/web_app_helpers.h"
 #include "chrome/browser/web_applications/web_app_icon_generator.h"
 #include "chrome/browser/web_applications/web_app_install_info.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "components/webapps/browser/installable/installable_data.h"
 #include "components/webapps/browser/installable/installable_logging.h"
 #include "components/webapps/browser/installable/installable_manager.h"
@@ -180,7 +181,7 @@
 }
 
 void WebAppDataRetriever::GetIcons(content::WebContents* web_contents,
-                                   const base::flat_set<GURL>& extra_icon_urls,
+                                   const IconUrlSizeSet& extra_icon_urls,
                                    bool skip_page_favicons,
                                    bool fail_all_if_any_fail,
                                    GetIconsCallback callback) {
diff --git a/chrome/browser/web_applications/web_contents/web_app_data_retriever.h b/chrome/browser/web_applications/web_contents/web_app_data_retriever.h
index 831de510..7601368 100644
--- a/chrome/browser/web_applications/web_contents/web_app_data_retriever.h
+++ b/chrome/browser/web_applications/web_contents/web_app_data_retriever.h
@@ -86,7 +86,7 @@
   // Downloads icons from |icon_urls|. Runs |callback| with a map of
   // the retrieved icons.
   virtual void GetIcons(content::WebContents* web_contents,
-                        const base::flat_set<GURL>& extra_favicon_urls,
+                        const IconUrlSizeSet& extra_favicon_urls,
                         bool skip_page_favicons,
                         bool fail_all_if_any_fail,
                         GetIconsCallback callback);
diff --git a/chrome/browser/web_applications/web_contents/web_app_data_retriever_unittest.cc b/chrome/browser/web_applications/web_contents/web_app_data_retriever_unittest.cc
index 89f5dfe..2de7594 100644
--- a/chrome/browser/web_applications/web_contents/web_app_data_retriever_unittest.cc
+++ b/chrome/browser/web_applications/web_contents/web_app_data_retriever_unittest.cc
@@ -16,6 +16,7 @@
 #include "chrome/browser/web_applications/web_app.h"
 #include "chrome/browser/web_applications/web_app_helpers.h"
 #include "chrome/browser/web_applications/web_app_install_info.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "chrome/test/base/chrome_render_view_host_test_harness.h"
 #include "chrome/test/base/testing_profile.h"
 #include "components/webapps/browser/installable/fake_installable_manager.h"
@@ -337,7 +338,7 @@
   base::RunLoop run_loop;
   WebAppDataRetriever retriever;
   retriever.GetIcons(web_contents(),
-                     /*extra_favicon_urls=*/base::flat_set<GURL>(),
+                     /*extra_favicon_urls=*/IconUrlSizeSet(),
                      skip_page_favicons, fail_all_if_any_fail,
                      base::BindLambdaForTesting(
                          [&](IconsDownloadedResult result, IconsMap icons_map,
diff --git a/chrome/browser/web_applications/web_contents/web_app_icon_downloader.cc b/chrome/browser/web_applications/web_contents/web_app_icon_downloader.cc
index 5bd17dd..5d81b2a1 100644
--- a/chrome/browser/web_applications/web_contents/web_app_icon_downloader.cc
+++ b/chrome/browser/web_applications/web_contents/web_app_icon_downloader.cc
@@ -4,6 +4,10 @@
 
 #include "chrome/browser/web_applications/web_contents/web_app_icon_downloader.h"
 
+#include <string>
+#include <tuple>
+#include <vector>
+
 #include "base/check_op.h"
 #include "base/containers/flat_set.h"
 #include "base/feature_list.h"
@@ -15,6 +19,7 @@
 #include "base/timer/timer.h"
 #include "chrome/browser/web_applications/web_app_constants.h"
 #include "chrome/browser/web_applications/web_app_helpers.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "content/public/browser/browser_context.h"
 #include "content/public/browser/navigation_handle.h"
 #include "content/public/browser/web_contents.h"
@@ -46,10 +51,11 @@
 WebAppIconDownloader::WebAppIconDownloader() = default;
 WebAppIconDownloader::~WebAppIconDownloader() = default;
 
-void WebAppIconDownloader::Start(content::WebContents* web_contents,
-                                 const base::flat_set<GURL>& extra_icon_urls,
-                                 WebAppIconDownloaderCallback callback,
-                                 IconDownloaderOptions options) {
+void WebAppIconDownloader::Start(
+    content::WebContents* web_contents,
+    const IconUrlSizeSet& extra_icon_urls_with_sizes,
+    WebAppIconDownloaderCallback callback,
+    IconDownloaderOptions options) {
   // Cannot call start more than once.
   CHECK_EQ(pending_requests(), 0ul);
   CHECK(web_contents);
@@ -86,17 +92,18 @@
   const auto& favicon_urls = GetFaviconURLsFromWebContents();
 
   if (!options_.skip_page_favicons && !favicon_urls.empty()) {
-    std::vector<GURL> combined_icon_urls(extra_icon_urls.begin(),
-                                         extra_icon_urls.end());
-    combined_icon_urls.reserve(combined_icon_urls.size() + favicon_urls.size());
+    std::vector<IconUrlsWithSizes> combined_icon_infos(
+        extra_icon_urls_with_sizes.begin(), extra_icon_urls_with_sizes.end());
+    combined_icon_infos.reserve(combined_icon_infos.size() +
+                                favicon_urls.size());
     for (const auto& favicon_url : favicon_urls) {
       if (favicon_url->icon_type != blink::mojom::FaviconIconType::kInvalid) {
-        combined_icon_urls.push_back(favicon_url->icon_url);
+        combined_icon_infos.emplace_back(favicon_url->icon_url, gfx::Size());
       }
     }
-    FetchIcons(base::flat_set<GURL>(combined_icon_urls));
+    FetchIcons(IconUrlSizeSet(combined_icon_infos));
   } else {
-    FetchIcons(extra_icon_urls);
+    FetchIcons(extra_icon_urls_with_sizes);
   }
 }
 
@@ -104,7 +111,8 @@
   return !callback_.is_null();
 }
 
-int WebAppIconDownloader::DownloadImage(const GURL& url) {
+int WebAppIconDownloader::DownloadImage(const GURL& url,
+                                        const gfx::Size& preferred_size) {
   if (web_contents()->GetBrowserContext()->ShutdownStarted()) {
     // Reports http status code for the failure.
     CancelDownloads(IconsDownloadedResult::kPrimaryPageChanged,
@@ -116,10 +124,10 @@
     // download.
     return web_contents()->DownloadImage(
         url,
-        true,         // is_favicon
-        gfx::Size(),  // no preferred size
-        0,            // no max size
-        false,        // normal cache policy
+        true,  // is_favicon
+        preferred_size,
+        0,      // no max size
+        false,  // normal cache policy
         base::BindOnce(&WebAppIconDownloader::DidDownloadFavicon,
                        weak_ptr_factory_.GetWeakPtr()));
   }
@@ -130,7 +138,8 @@
   return web_contents()->GetFaviconURLs();
 }
 
-void WebAppIconDownloader::FetchIcons(const base::flat_set<GURL>& urls) {
+void WebAppIconDownloader::FetchIcons(
+    const IconUrlSizeSet& urls_to_download_with_size) {
   CHECK_EQ(pending_requests(), 0ul);
   CHECK(!populating_pending_requests_);
 
@@ -139,10 +148,13 @@
   populating_pending_requests_ = true;
   // Download icons; put their download ids into |in_progress_requests_| and
   // their urls into |processed_urls_|.
-  for (const GURL& url : urls) {
+  for (const auto& url_data : urls_to_download_with_size) {
     // Only start the download if the url hasn't been processed before.
-    if (processed_urls_.insert(url).second) {
-      in_progress_requests_.insert(std::make_pair(DownloadImage(url), url));
+    if (processed_urls_.insert(url_data).second) {
+      const GURL url = get<GURL>(url_data);
+      in_progress_requests_.insert(std::make_pair(
+          DownloadImage(get<GURL>(url_data), get<gfx::Size>(url_data)),
+          url_data));
     }
   }
   populating_pending_requests_ = false;
@@ -187,6 +199,8 @@
     return;
   }
 
+  // TODO(b/319669415 : Support adding onto existing bitmaps array instead of
+  // overwriting. Helpful for downloading multiple bitmaps from the same URL.
   icons_map_[image_url] = bitmaps;
 
   MaybeCompleteCallback();
@@ -265,7 +279,8 @@
   }
 
   // Populate results for the the hanging requests.
-  for (const auto& [_, icon_url] : in_progress_requests_) {
+  for (const auto& [_, icon_url_with_sizes] : in_progress_requests_) {
+    const GURL& icon_url = get<GURL>(icon_url_with_sizes);
     icons_http_results_[icon_url] = net::HttpStatusCode::HTTP_REQUEST_TIMEOUT;
   }
   base::UmaHistogramEnumeration(
diff --git a/chrome/browser/web_applications/web_contents/web_app_icon_downloader.h b/chrome/browser/web_applications/web_contents/web_app_icon_downloader.h
index 4df88d27..6342d2e8 100644
--- a/chrome/browser/web_applications/web_contents/web_app_icon_downloader.h
+++ b/chrome/browser/web_applications/web_contents/web_app_icon_downloader.h
@@ -6,7 +6,7 @@
 #define CHROME_BROWSER_WEB_APPLICATIONS_WEB_CONTENTS_WEB_APP_ICON_DOWNLOADER_H_
 
 #include <map>
-#include <set>
+#include <tuple>
 #include <vector>
 
 #include "base/functional/callback.h"
@@ -51,10 +51,11 @@
   WebAppIconDownloader& operator=(const WebAppIconDownloader&) = delete;
   ~WebAppIconDownloader() override;
 
-  // |extra_icon_urls| allows callers to provide icon urls that aren't
-  // provided by the renderer (e.g touch icons on non-android environments).
+  // |extra_icon_urls_with_sizes| allows callers to provide icon urls that
+  // aren't provided by the renderer (e.g touch icons on non-android
+  // environments).
   virtual void Start(content::WebContents* web_contents,
-                     const base::flat_set<GURL>& extra_icon_urls,
+                     const IconUrlSizeSet& extra_icon_urls_with_sizes,
                      WebAppIconDownloaderCallback callback,
                      IconDownloaderOptions options = IconDownloaderOptions());
 
@@ -76,15 +77,15 @@
   bool IsRunning();
 
   // Initiates a download of the image at |url| and returns the download id.
-  int DownloadImage(const GURL& url);
+  int DownloadImage(const GURL& url, const gfx::Size& preferred_size);
 
   // Queries WebContents for the page's current favicon URLs.
   const std::vector<blink::mojom::FaviconURLPtr>&
   GetFaviconURLsFromWebContents();
 
-  // Fetches icons for the given urls.
+  // Fetches icons for the given urls with sizes.
   // |callback_| is run when all downloads complete.
-  void FetchIcons(const base::flat_set<GURL>& urls);
+  void FetchIcons(const IconUrlSizeSet& urls_to_download_with_size);
 
   // Icon download callback.
   void DidDownloadFavicon(int id,
@@ -119,11 +120,11 @@
 
   // Request ids of in-progress requests.
   bool populating_pending_requests_ = false;
-  std::map<int, GURL> in_progress_requests_;
+  std::map<int, IconUrlsWithSizes> in_progress_requests_;
 
   // Urls for which a download has already been initiated. Used to prevent
   // duplicate downloads of the same url.
-  std::set<GURL> processed_urls_;
+  IconUrlSizeSet processed_urls_;
 
   // Timer used for the timeout result.
   base::OneShotTimer timer_;
diff --git a/chrome/browser/web_applications/web_contents/web_app_icon_downloader_unittest.cc b/chrome/browser/web_applications/web_contents/web_app_icon_downloader_unittest.cc
index 73db1f6..489e112 100644
--- a/chrome/browser/web_applications/web_contents/web_app_icon_downloader_unittest.cc
+++ b/chrome/browser/web_applications/web_contents/web_app_icon_downloader_unittest.cc
@@ -14,6 +14,7 @@
 #include "base/test/test_mock_time_task_runner.h"
 #include "chrome/browser/web_applications/test/web_app_test.h"
 #include "chrome/browser/web_applications/web_app_constants.h"
+#include "chrome/browser/web_applications/web_app_install_utils.h"
 #include "content/public/browser/web_contents.h"
 #include "content/public/test/navigation_simulator.h"
 #include "content/public/test/prerender_test_util.h"
@@ -24,6 +25,7 @@
 #include "third_party/blink/public/common/features.h"
 #include "third_party/blink/public/mojom/favicon/favicon_url.mojom.h"
 #include "third_party/skia/include/core/SkBitmap.h"
+#include "ui/gfx/geometry/size.h"
 
 namespace web_app {
 namespace {
@@ -78,7 +80,7 @@
       test_future;
   WebAppIconDownloader downloader;
 
-  downloader.Start(web_contents(), std::vector<GURL>(),
+  downloader.Start(web_contents(), std::vector<IconUrlsWithSizes>(),
                    test_future.GetCallback());
   const std::vector<gfx::Size> sizes{gfx::Size(32, 32)};
   web_contents_tester()->TestDidDownloadImage(
@@ -111,7 +113,7 @@
   favicon_urls.push_back(mojo::Clone(favicon_url));
   web_contents_tester()->TestSetFaviconURL(mojo::Clone(favicon_urls));
 
-  downloader.Start(web_contents(), std::vector<GURL>(),
+  downloader.Start(web_contents(), std::vector<IconUrlsWithSizes>(),
                    test_future.GetCallback());
 
   std::vector<gfx::Size> sizes = {gfx::Size(0, 0)};
@@ -135,11 +137,11 @@
   const GURL favicon_url_1("http://www.google.com/favicon.ico");
   const GURL favicon_url_2("http://www.google.com/favicon2.ico");
 
-  std::vector<GURL> extra_urls;
+  std::vector<IconUrlsWithSizes> extra_urls;
   // This should get downloaded.
-  extra_urls.push_back(favicon_url_2);
+  extra_urls.emplace_back(favicon_url_2, gfx::Size());
   // This is duplicated in the favicon urls and should only be downloaded once.
-  extra_urls.push_back(empty_favicon);
+  extra_urls.emplace_back(empty_favicon, gfx::Size());
 
   base::test::TestFuture<IconsDownloadedResult, IconsMap,
                          DownloadedIconsHttpResults>
@@ -205,8 +207,8 @@
   const GURL favicon_url_1("http://www.google.com/favicon.ico");
   const GURL favicon_url_2("http://www.google.com/favicon2.ico");
 
-  std::vector<GURL> extra_urls;
-  extra_urls.push_back(favicon_url_1);
+  std::vector<IconUrlsWithSizes> extra_urls;
+  extra_urls.emplace_back(favicon_url_1, gfx::Size());
 
   // This favicon URL should be ignored.
   std::vector<blink::mojom::FaviconURLPtr> favicon_urls;
@@ -265,7 +267,7 @@
       /*is_default_icon=*/false));
   web_contents_tester()->TestSetFaviconURL(mojo::Clone(favicon_urls));
 
-  downloader.Start(web_contents(), std::vector<GURL>(),
+  downloader.Start(web_contents(), std::vector<IconUrlsWithSizes>(),
                    test_future.GetCallback());
 
   static_cast<content::WebContentsObserver&>(downloader).WebContentsDestroyed();
@@ -290,7 +292,7 @@
       /*is_default_icon=*/false));
   web_contents_tester()->TestSetFaviconURL(mojo::Clone(favicon_urls));
 
-  downloader.Start(web_contents(), std::vector<GURL>(),
+  downloader.Start(web_contents(), std::vector<IconUrlsWithSizes>(),
                    test_future.GetCallback());
 
   content::NavigationSimulator::CreateRendererInitiated(
@@ -311,8 +313,10 @@
                          DownloadedIconsHttpResults>
       test_future;
   WebAppIconDownloader downloader;
-  downloader.Start(web_contents(), std::vector<GURL>{url},
-                   test_future.GetCallback(), {.skip_page_favicons = true});
+  downloader.Start(
+      web_contents(),
+      std::vector<IconUrlsWithSizes>{std::make_tuple(url, gfx::Size())},
+      test_future.GetCallback(), {.skip_page_favicons = true});
 
   std::vector<gfx::Size> sizes = {gfx::Size(32, 32)};
   web_contents_tester()->TestDidDownloadImage(
@@ -349,7 +353,7 @@
 
   web_contents_tester()->TestUpdateFaviconURL(mojo::Clone(favicon_urls));
 
-  downloader.Start(web_contents(), std::vector<GURL>(),
+  downloader.Start(web_contents(), std::vector<IconUrlsWithSizes>(),
                    test_future.GetCallback());
 
   content::NavigationSimulator::CreateRendererInitiated(
@@ -389,7 +393,7 @@
       test_future;
   WebAppIconDownloader downloader;
 
-  downloader.Start(web_contents(), std::vector<GURL>(),
+  downloader.Start(web_contents(), std::vector<IconUrlsWithSizes>(),
                    test_future.GetCallback());
 
   task_runner->FastForwardBy(
@@ -428,7 +432,7 @@
 
   // Even if one download succeeds, since the `fail_all_if_any_fail` option is
   // on, it should totally fail.
-  downloader.Start(web_contents(), std::vector<GURL>(),
+  downloader.Start(web_contents(), std::vector<IconUrlsWithSizes>(),
                    test_future.GetCallback(), {.fail_all_if_any_fail = true});
   const std::vector<gfx::Size> sizes{gfx::Size(32, 32)};
   web_contents_tester()->TestDidDownloadImage(
@@ -473,7 +477,7 @@
 
   // Even though one icon hangs, the other does not, so we can partially
   // succeed.
-  downloader.Start(web_contents(), std::vector<GURL>(),
+  downloader.Start(web_contents(), std::vector<IconUrlsWithSizes>(),
                    test_future.GetCallback());
 
   const std::vector<gfx::Size> sizes{gfx::Size(32, 32)};
@@ -525,7 +529,7 @@
       std::vector<gfx::Size>(), /*is_default_icon=*/false));
 
   web_contents_tester()->TestUpdateFaviconURL(mojo::Clone(favicon_urls));
-  downloader.Start(web_contents(), std::vector<GURL>(),
+  downloader.Start(web_contents(), std::vector<IconUrlsWithSizes>(),
                    test_future.GetCallback());
 
   // Start a prerender and navigate the test page.
diff --git a/chrome/build/android-arm32.pgo.txt b/chrome/build/android-arm32.pgo.txt
index f3d3bd8..9f3d43f 100644
--- a/chrome/build/android-arm32.pgo.txt
+++ b/chrome/build/android-arm32.pgo.txt
@@ -1 +1 @@
-chrome-android32-main-1705687111-780b03b7bf196769782917f10d6d0ce3e41df527.profdata
+chrome-android32-main-1705708798-53848aa8422b07c11fe9fca25896232379377703.profdata
diff --git a/chrome/build/android-arm64.pgo.txt b/chrome/build/android-arm64.pgo.txt
index 7bfad6c..c945318 100644
--- a/chrome/build/android-arm64.pgo.txt
+++ b/chrome/build/android-arm64.pgo.txt
@@ -1 +1 @@
-chrome-android64-main-1705622383-3aa3bb2f50cbe40a1a79092fe531f38b46c84fde.profdata
+chrome-android64-main-1705708798-6dcd469817c546a3dd83f3f5bcf3abd9b046c75b.profdata
diff --git a/chrome/build/mac-arm.pgo.txt b/chrome/build/mac-arm.pgo.txt
index be54ad64..3f871280 100644
--- a/chrome/build/mac-arm.pgo.txt
+++ b/chrome/build/mac-arm.pgo.txt
@@ -1 +1 @@
-chrome-mac-arm-main-1705694325-862eefc3da43173cf8acfe5922b9d0a19551828d.profdata
+chrome-mac-arm-main-1705701512-c6ea4989c40b843dc6db99ea7fe05b60158240e1.profdata
diff --git a/chrome/build/win-arm64.pgo.txt b/chrome/build/win-arm64.pgo.txt
index ce5d7daa..44b07d7 100644
--- a/chrome/build/win-arm64.pgo.txt
+++ b/chrome/build/win-arm64.pgo.txt
@@ -1 +1 @@
-chrome-win-arm64-main-1705687111-b012d43bcf999103bf3d6057bb61c74d6f7bb064.profdata
+chrome-win-arm64-main-1705708798-64d78504306b151215f6d465ebd4f75859d8f32f.profdata
diff --git a/chrome/build/win64.pgo.txt b/chrome/build/win64.pgo.txt
index d8fe846..9266086 100644
--- a/chrome/build/win64.pgo.txt
+++ b/chrome/build/win64.pgo.txt
@@ -1 +1 @@
-chrome-win64-main-1705687111-50a83d9924d643a103d3d1445afb99a4ae6c7171.profdata
+chrome-win64-main-1705697973-fe051aff45b6341ca3a2d3a2182af82ca946fdf6.profdata
diff --git a/chrome/common/extensions/manifest_handlers/automation_unittest.cc b/chrome/common/extensions/manifest_handlers/automation_unittest.cc
index 2d07f1b7..8141081 100644
--- a/chrome/common/extensions/manifest_handlers/automation_unittest.cc
+++ b/chrome/common/extensions/manifest_handlers/automation_unittest.cc
@@ -64,24 +64,6 @@
   ASSERT_TRUE(info);
 
   EXPECT_FALSE(info->desktop);
-  EXPECT_FALSE(info->interact);
-  EXPECT_TRUE(info->matches.is_empty());
-}
-
-TEST_F(AutomationManifestTest, InteractTrue) {
-  scoped_refptr<Extension> extension =
-      LoadAndExpectSuccess("automation_interact_true.json");
-  ASSERT_TRUE(extension.get());
-
-  EXPECT_TRUE(VerifyOnePermissionMessage(
-      extension->permissions_data(),
-      "Read and change your data on www.google.com"));
-
-  const AutomationInfo* info = AutomationInfo::Get(extension.get());
-  ASSERT_TRUE(info);
-
-  EXPECT_FALSE(info->desktop);
-  EXPECT_TRUE(info->interact);
   EXPECT_TRUE(info->matches.is_empty());
 }
 
@@ -102,7 +84,6 @@
   ASSERT_TRUE(info);
 
   EXPECT_FALSE(info->desktop);
-  EXPECT_FALSE(info->interact);
   EXPECT_FALSE(info->matches.is_empty());
 
   EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.google.com/")));
@@ -128,7 +109,6 @@
   ASSERT_TRUE(info);
 
   EXPECT_FALSE(info->desktop);
-  EXPECT_FALSE(info->interact);
   EXPECT_FALSE(info->matches.is_empty());
 
   EXPECT_TRUE(info->matches.MatchesURL(GURL("http://www.twitter.com/")));
@@ -147,7 +127,6 @@
   ASSERT_TRUE(info);
 
   EXPECT_FALSE(info->desktop);
-  EXPECT_FALSE(info->interact);
   EXPECT_TRUE(info->matches.is_empty());
 }
 
@@ -172,7 +151,6 @@
   ASSERT_TRUE(info);
 
   EXPECT_FALSE(info->desktop);
-  EXPECT_FALSE(info->interact);
   EXPECT_TRUE(info->matches.is_empty());
 }
 
@@ -189,7 +167,6 @@
   ASSERT_TRUE(info);
 
   EXPECT_FALSE(info->desktop);
-  EXPECT_FALSE(info->interact);
   EXPECT_TRUE(info->matches.is_empty());
 }
 
@@ -206,44 +183,9 @@
   ASSERT_TRUE(info);
 
   EXPECT_TRUE(info->desktop);
-  EXPECT_TRUE(info->interact);
   EXPECT_TRUE(info->matches.is_empty());
 }
 
-TEST_F(AutomationManifestTest, Desktop_InteractTrue) {
-  scoped_refptr<Extension> extension =
-      LoadAndExpectSuccess("automation_desktop_interact_true.json");
-  ASSERT_TRUE(extension.get());
-
-  EXPECT_TRUE(VerifyOnePermissionMessage(
-      extension->permissions_data(),
-      l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS)));
-
-  const AutomationInfo* info = AutomationInfo::Get(extension.get());
-  ASSERT_TRUE(info);
-
-  EXPECT_TRUE(info->desktop);
-  EXPECT_TRUE(info->interact);
-  EXPECT_TRUE(info->matches.is_empty());
-}
-
-TEST_F(AutomationManifestTest, Desktop_InteractFalse) {
-  scoped_refptr<Extension> extension =
-      LoadAndExpectWarning("automation_desktop_interact_false.json",
-                           automation_errors::kErrorDesktopTrueInteractFalse);
-  ASSERT_TRUE(extension.get());
-
-  EXPECT_TRUE(VerifyOnePermissionMessage(
-      extension->permissions_data(),
-      l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS)));
-
-  const AutomationInfo* info = AutomationInfo::Get(extension.get());
-  ASSERT_TRUE(info);
-
-  EXPECT_TRUE(info->desktop);
-  EXPECT_TRUE(info->interact);
-  EXPECT_TRUE(info->matches.is_empty());
-}
 
 TEST_F(AutomationManifestTest, Desktop_MatchesSpecified) {
   scoped_refptr<Extension> extension = LoadAndExpectWarning(
@@ -259,44 +201,6 @@
   ASSERT_TRUE(info);
 
   EXPECT_TRUE(info->desktop);
-  EXPECT_TRUE(info->interact);
   EXPECT_TRUE(info->matches.is_empty());
 }
-
-TEST_F(AutomationManifestTest, AllHostsInteractFalse) {
-  scoped_refptr<Extension> extension =
-      LoadAndExpectSuccess("automation_all_hosts_interact_false.json");
-  ASSERT_TRUE(extension.get());
-
-  EXPECT_TRUE(VerifyOnePermissionMessage(
-      extension->permissions_data(),
-      l10n_util::GetStringUTF16(
-          IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS_READ_ONLY)));
-
-  const AutomationInfo* info = AutomationInfo::Get(extension.get());
-  ASSERT_TRUE(info);
-
-  EXPECT_FALSE(info->desktop);
-  EXPECT_FALSE(info->interact);
-  EXPECT_FALSE(info->matches.is_empty());
-  EXPECT_TRUE(info->matches.MatchesAllURLs());
-}
-
-TEST_F(AutomationManifestTest, AllHostsInteractTrue) {
-  scoped_refptr<Extension> extension =
-      LoadAndExpectSuccess("automation_all_hosts_interact_true.json");
-  ASSERT_TRUE(extension.get());
-
-  EXPECT_TRUE(VerifyOnePermissionMessage(
-      extension->permissions_data(),
-      l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS)));
-
-  const AutomationInfo* info = AutomationInfo::Get(extension.get());
-  ASSERT_TRUE(info);
-
-  EXPECT_FALSE(info->desktop);
-  EXPECT_TRUE(info->interact);
-  EXPECT_FALSE(info->matches.is_empty());
-  EXPECT_TRUE(info->matches.MatchesAllURLs());
-}
 }  // namespace extensions
diff --git a/chrome/common/extensions/permissions/chrome_permission_message_provider_unittest.cc b/chrome/common/extensions/permissions/chrome_permission_message_provider_unittest.cc
index 513f4b9..703045f3 100644
--- a/chrome/common/extensions/permissions/chrome_permission_message_provider_unittest.cc
+++ b/chrome/common/extensions/permissions/chrome_permission_message_provider_unittest.cc
@@ -241,22 +241,6 @@
         l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_FULL_ACCESS),
         messages[1].message());
   }
-  {
-    scoped_refptr<Extension> extension = ManifestTest::LoadAndExpectSuccess(
-        "automation_all_hosts_interact_true.json");
-    ASSERT_TRUE(extension.get());
-    ManifestPermissionSet manifest_permissions = extension->permissions_data()
-                                                     ->active_permissions()
-                                                     .manifest_permissions()
-                                                     .Clone();
-    APIPermissionSet permissions;
-    permissions.insert(APIPermissionID::kTab);
-    PermissionMessages messages = GetManagementUIPermissionIDs(
-        permissions, manifest_permissions, Manifest::TYPE_EXTENSION);
-    ASSERT_EQ(1U, messages.size());
-    EXPECT_EQ(l10n_util::GetStringUTF16(IDS_EXTENSION_PROMPT_WARNING_ALL_HOSTS),
-              messages.front().message());
-  }
 }
 
 // Checks that granted hosts that may cause API permission messages are
diff --git a/chrome/common/features.gni b/chrome/common/features.gni
index 2790467..5676425f 100644
--- a/chrome/common/features.gni
+++ b/chrome/common/features.gni
@@ -41,6 +41,7 @@
   # * CertificateManagement/CACertificates.yaml
   # * CertificateManagement/CADistrustedCertificates.yaml
   # * CertificateManagement/CAHintCertificates.yaml
+  # * CertificateManagement/CAPlatformIntegrationEnabled.yaml
   #
   chrome_certificate_policies_supported = is_mac || is_win || is_linux
 
diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h
index 7007a22..7b3f2691 100644
--- a/chrome/common/pref_names.h
+++ b/chrome/common/pref_names.h
@@ -4021,6 +4021,11 @@
 // building. Only specifiable as an enterprise policy.
 inline constexpr char kCAHintCertificates[] =
     "certificates.ca_hint_certificates";
+
+// Boolean that specifies whether to use user-added certificates that are in the
+// platform trust stores.
+inline constexpr char kCAPlatformIntegrationEnabled[] =
+    "certificates.ca_platform_integration_enabled";
 #endif  // BUILDFLAG(CHROME_CERTIFICATE_POLICIES_SUPPORTED)
 
 }  // namespace prefs
diff --git a/chrome/renderer/accessibility/read_anything_app_model.cc b/chrome/renderer/accessibility/read_anything_app_model.cc
index 078722d..8b691ca9 100644
--- a/chrome/renderer/accessibility/read_anything_app_model.cc
+++ b/chrome/renderer/accessibility/read_anything_app_model.cc
@@ -642,6 +642,42 @@
   }
 }
 
+void ReadAnythingAppModel::OnSelection(ax::mojom::EventFrom event_from) {
+  // If event_from is kUser, the user selected text on the main web page.
+  // If event_from is kAction, the user selected text in RM and the main web
+  // page was updated with that selection.
+  // Edgecases:
+  // 1. For selections in PDFs coming from the main pane or from the side
+  // panel, event_from is set to kNone.
+  // 2. When the user clicks and drags the cursor to highlight text on a
+  // webpage, such that the anchor node and offset stays the same and the focus
+  // node and/or offset changes, the first few selection events have event_from
+  // kUser, but the subsequent selection events have event_from kPage. This is
+  // the way UserActivationState is implemented. To detect this case, compare
+  // the new selection to the saved selection. If the anchor is the same, update
+  // the selection in RM.
+  ui::AXSelection selection =
+      GetTreeFromId(GetActiveTreeId())->GetUnignoredSelection();
+  bool is_click_and_drag_selection =
+      (selection.anchor_object_id == start_node_id_ &&
+       selection.anchor_offset == start_offset_ &&
+       (selection.focus_object_id != end_node_id_ ||
+        selection.focus_offset != end_offset_)) ||
+      (selection.anchor_object_id == end_node_id_ &&
+       selection.anchor_offset == end_offset_ &&
+       (selection.focus_object_id != start_node_id_ ||
+        selection.focus_offset != start_offset_));
+
+  if (event_from == ax::mojom::EventFrom::kUser ||
+      event_from == ax::mojom::EventFrom::kAction ||
+      (event_from == ax::mojom::EventFrom::kPage &&
+       is_click_and_drag_selection) ||
+      is_pdf_) {
+    requires_post_process_selection_ = true;
+    selection_from_action_ = event_from == ax::mojom::EventFrom::kAction;
+  }
+}
+
 void ReadAnythingAppModel::ProcessNonGeneratedEvents(
     const std::vector<ui::AXEvent>& events) {
   // Note that this list of events may overlap with generated events in the
@@ -735,15 +771,7 @@
   for (const auto& event : event_generator) {
     switch (event.event_params->event) {
       case ui::AXEventGenerator::Event::DOCUMENT_SELECTION_CHANGED:
-        // For selections in PDFs coming from the main pane or from the side
-        // panel, event_from is set to kNone so skip this check.
-        if (event.event_params->event_from == ax::mojom::EventFrom::kUser ||
-            event.event_params->event_from == ax::mojom::EventFrom::kAction ||
-            is_pdf_) {
-          requires_post_process_selection_ = true;
-          selection_from_action_ =
-              event.event_params->event_from == ax::mojom::EventFrom::kAction;
-        }
+        OnSelection(event.event_params->event_from);
         break;
       case ui::AXEventGenerator::Event::DOCUMENT_TITLE_CHANGED:
       case ui::AXEventGenerator::Event::ALERT:
diff --git a/chrome/renderer/accessibility/read_anything_app_model.h b/chrome/renderer/accessibility/read_anything_app_model.h
index 4b92f48..486e6e14 100644
--- a/chrome/renderer/accessibility/read_anything_app_model.h
+++ b/chrome/renderer/accessibility/read_anything_app_model.h
@@ -129,6 +129,7 @@
       base::Value::Dict* voices,
       read_anything::mojom::HighlightGranularity granularity);
   void OnScroll(bool on_selection, bool from_reading_mode) const;
+  void OnSelection(ax::mojom::EventFrom event_from);
 
   void Reset(const std::vector<ui::AXNodeID>& content_node_ids);
   bool PostProcessSelection();
diff --git a/chrome/renderer/accessibility/read_anything_app_model_browsertest.cc b/chrome/renderer/accessibility/read_anything_app_model_browsertest.cc
index 770c658c..9b460c6 100644
--- a/chrome/renderer/accessibility/read_anything_app_model_browsertest.cc
+++ b/chrome/renderer/accessibility/read_anything_app_model_browsertest.cc
@@ -224,6 +224,10 @@
     model_->set_selection_from_action(selection_from_action);
   }
 
+  void OnSelection(ax::mojom::EventFrom event_from) {
+    model_->OnSelection(event_from);
+  }
+
   void IncreaseTextSize() { model_->IncreaseTextSize(); }
 
   void DecreaseTextSize() { model_->DecreaseTextSize(); }
@@ -1462,3 +1466,61 @@
   AccessibilityEventReceived({update});
   ASSERT_FALSE(RequiresDistillation());
 }
+
+TEST_F(ReadAnythingAppModelTest, OnSelection_HandlesClickAndDragEvents) {
+  ui::AXTreeUpdate update;
+  SetUpdateTreeID(&update);
+  update.tree_data.sel_anchor_object_id = 2;
+  update.tree_data.sel_focus_object_id = 3;
+  update.tree_data.sel_anchor_offset = 0;
+  update.tree_data.sel_focus_offset = 0;
+  update.tree_data.sel_is_backward = false;
+  AccessibilityEventReceived({update});
+  ProcessSelection();
+
+  // If there is a click and drag selection (the anchor object id and offset are
+  // the same as the prev selection received), the event_from eventually changes
+  // from kUser to kPage. Post process selection should be required in either
+  // case.
+  // SetRequiresPostProcessSelection(false) is needed to reset the flag to check
+  // that OnSelection(...) properly sets (or doesn't set) the flag.
+  update.tree_data.sel_anchor_object_id = 2;
+  update.tree_data.sel_focus_object_id = 3;
+  update.tree_data.sel_anchor_offset = 0;
+  update.tree_data.sel_focus_offset = 1;
+  update.tree_data.sel_is_backward = false;
+  AccessibilityEventReceived({update});
+
+  SetRequiresPostProcessSelection(false);
+  OnSelection(ax::mojom::EventFrom::kUser);
+  EXPECT_TRUE(RequiresPostProcessSelection());
+
+  SetRequiresPostProcessSelection(false);
+  OnSelection(ax::mojom::EventFrom::kPage);
+  EXPECT_TRUE(RequiresPostProcessSelection());
+
+  // If the user drags the selection so that it is backwards, post process
+  // selection should still be required.
+  update.tree_data.sel_anchor_object_id = 2;
+  update.tree_data.sel_focus_object_id = 1;
+  update.tree_data.sel_anchor_offset = 0;
+  update.tree_data.sel_focus_offset = 2;
+  update.tree_data.sel_is_backward = true;
+  AccessibilityEventReceived({update});
+  SetRequiresPostProcessSelection(false);
+  OnSelection(ax::mojom::EventFrom::kPage);
+  EXPECT_TRUE(RequiresPostProcessSelection());
+
+  // If the anchor changes (the user stopped dragging their cursor) and we
+  // receive an event with event_from kPage, post process selection should not
+  // be set to true.
+  update.tree_data.sel_anchor_object_id = 2;
+  update.tree_data.sel_focus_object_id = 3;
+  update.tree_data.sel_anchor_offset = 1;
+  update.tree_data.sel_focus_offset = 0;
+  update.tree_data.sel_is_backward = false;
+  AccessibilityEventReceived({update});
+  SetRequiresPostProcessSelection(false);
+  OnSelection(ax::mojom::EventFrom::kPage);
+  EXPECT_FALSE(RequiresPostProcessSelection());
+}
diff --git a/chrome/test/BUILD.gn b/chrome/test/BUILD.gn
index cc5cdde..7f7b391 100644
--- a/chrome/test/BUILD.gn
+++ b/chrome/test/BUILD.gn
@@ -1722,6 +1722,7 @@
       "//chrome/browser/media/router/discovery/access_code:access_code_cast_feature",
       "//chrome/browser/media/router/discovery/access_code:access_code_sink_service",
       "//chrome/browser/metrics:test_support",
+      "//chrome/browser/metrics/structured:test_support",
       "//chrome/browser/notifications/scheduler:factory",
       "//chrome/browser/notifications/scheduler/public",
       "//chrome/browser/notifications/scheduler/test:test_support",
@@ -1855,6 +1856,9 @@
       "//components/metrics:metrics",
       "//components/metrics/demographics",
       "//components/metrics/demographics:test_support",
+      "//components/metrics/structured",
+      "//components/metrics/structured:structured_events",
+      "//components/metrics/structured:test_support",
       "//components/metrics_services_manager",
       "//components/nacl/common:buildflags",
       "//components/navigation_metrics",
@@ -5044,7 +5048,6 @@
         "//chrome/browser/enterprise/connectors/device_trust/common",
         "//chrome/browser/image_decoder",
         "//chrome/browser/media/router:test_support",
-        "//chrome/browser/metrics/structured:test_support",
         "//chrome/browser/nearby_sharing/common",
         "//chrome/browser/policy:onc",
         "//chrome/browser/resources/chromeos/accessibility:browser_tests",
@@ -5170,9 +5173,6 @@
         "//components/global_media_controls:global_media_controls",
         "//components/live_caption:constants",
         "//components/manta",
-        "//components/metrics/structured",
-        "//components/metrics/structured:structured_events",
-        "//components/metrics/structured:test_support",
         "//components/onc",
         "//components/prefs",
         "//components/quirks",
@@ -7952,13 +7952,13 @@
         "../browser/ui/toolbar/app_menu_icon_controller_unittest.cc",
         "../browser/ui/toolbar/app_menu_model_unittest.cc",
         "../browser/ui/toolbar/back_forward_menu_model_unittest.cc",
-        "../browser/ui/toolbar/chrome_labs_model_unittest.cc",
+        "../browser/ui/toolbar/chrome_labs/chrome_labs_model_unittest.cc",
         "../browser/ui/toolbar/chrome_location_bar_model_delegate_unittest.cc",
         "../browser/ui/toolbar/location_bar_model_unittest.cc",
-        "../browser/ui/toolbar/media_router_action_controller_unittest.cc",
-        "../browser/ui/toolbar/media_router_contextual_menu_unittest.cc",
-        "../browser/ui/toolbar/mock_media_router_action_controller.cc",
-        "../browser/ui/toolbar/mock_media_router_action_controller.h",
+        "../browser/ui/toolbar/media_router/media_router_action_controller_unittest.cc",
+        "../browser/ui/toolbar/media_router/media_router_contextual_menu_unittest.cc",
+        "../browser/ui/toolbar/media_router/mock_media_router_action_controller.cc",
+        "../browser/ui/toolbar/media_router/mock_media_router_action_controller.h",
         "../browser/ui/toolbar/recent_tabs_builder_test_helper.cc",
         "../browser/ui/toolbar/recent_tabs_builder_test_helper.h",
         "../browser/ui/toolbar/recent_tabs_sub_menu_model_unittest.cc",
@@ -8391,7 +8391,6 @@
       deps += [
         "//chrome/browser/chromeos",
         "//chrome/browser/chromeos:test_support",
-        "//chrome/browser/smart_card:unit_tests",
         "//chromeos/components/disks:prefs",
         "//chromeos/dbus/power",
         "//components/arc/common",
@@ -8495,6 +8494,7 @@
         "../browser/performance_manager/policies/working_set_trimmer_policy_arcvm_unittest.cc",
         "../browser/performance_manager/policies/working_set_trimmer_policy_chromeos_unittest.cc",
         "../browser/push_notification/push_notification_service_desktop_impl_unittest.cc",
+        "../browser/push_notification/server_client/push_notification_desktop_api_call_flow_impl_unittest.cc",
         "../browser/resource_coordinator/tab_manager_delegate_chromeos_unittest.cc",
         "../browser/sharesheet/share_action/share_action_unittest.cc",
         "../browser/speech/cros_speech_recognition_service_factory_unittest.cc",
@@ -9875,8 +9875,14 @@
       deps += [ "//chrome/common/notifications:unit_tests" ]
     }
     if (enable_rlz) {
-      sources += [ "../browser/rlz/chrome_rlz_tracker_delegate_unittest.cc" ]
-      deps += [ "//rlz:test_support" ]
+      sources += [
+        "../browser/rlz/chrome_rlz_tracker_delegate_unittest.cc",
+        "../browser/rlz/chrome_rlz_tracker_web_contents_observer_unittest.cc",
+      ]
+      deps += [
+        "//components/rlz:test_support",
+        "//rlz:test_support",
+      ]
     }
     if (!is_android && !is_chromeos) {
       sources += [
@@ -10258,6 +10264,21 @@
       deps += [ "//chrome/browser/lens/region_search" ]
     }
 
+    if (is_win || is_linux || is_mac) {
+      sources += [
+        "../browser/metrics/structured/chrome_event_storage_unittest.cc",
+        "../browser/metrics/structured/chrome_structured_metrics_recorder_unittest.cc",
+      ]
+
+      deps += [
+        "//chrome/browser/metrics/structured",
+        "//components/metrics/structured",
+        "//components/metrics/structured:structured_events",
+        "//components/metrics/structured:structured_metrics_validator",
+        "//components/metrics/structured:test_support",
+      ]
+    }
+
     if (is_fuchsia) {
       # Chrome on Fuchsia uses the system crash handler.
       # TODO(crbug.com/1186718): Enable when the implementation is capable of
@@ -11330,7 +11351,6 @@
       deps += [
         "//chrome/browser/chromeos",
         "//chrome/browser/chromeos:test_support",
-        "//chrome/browser/smart_card:interactive_ui_tests",
         "//chromeos/constants",
         "//chromeos/dbus/dlp:dlp",
         "//chromeos/ui/base",
diff --git a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/BookmarkTestRule.java b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/BookmarkTestRule.java
index c02fbfb3..8dbb1ba 100644
--- a/chrome/test/android/javatests/src/org/chromium/chrome/test/util/BookmarkTestRule.java
+++ b/chrome/test/android/javatests/src/org/chromium/chrome/test/util/BookmarkTestRule.java
@@ -4,6 +4,8 @@
 
 package org.chromium.chrome.test.util;
 
+import static org.chromium.base.ThreadUtils.runOnUiThreadBlocking;
+
 import androidx.annotation.Nullable;
 import androidx.test.platform.app.InstrumentationRegistry;
 
@@ -12,10 +14,20 @@
 import org.junit.runners.model.Statement;
 
 import org.chromium.base.test.util.ApplicationTestUtils;
+import org.chromium.base.test.util.CallbackHelper;
 import org.chromium.chrome.browser.app.ChromeActivity;
 import org.chromium.chrome.browser.app.bookmarks.BookmarkActivity;
+import org.chromium.chrome.browser.bookmarks.BookmarkManagerCoordinator;
+import org.chromium.chrome.browser.bookmarks.BookmarkPage;
 import org.chromium.chrome.browser.bookmarks.BookmarkUtils;
+import org.chromium.chrome.browser.tab.EmptyTabObserver;
+import org.chromium.chrome.browser.tab.Tab;
+import org.chromium.chrome.browser.ui.native_page.NativePage;
+import org.chromium.components.embedder_support.util.UrlConstants;
 import org.chromium.content_public.browser.test.util.TestThreadUtils;
+import org.chromium.url.GURL;
+
+import java.util.concurrent.TimeoutException;
 
 /**
  * This test rule destroys BookmarkActivity opened with showBookmarkManager on phone.
@@ -40,18 +52,47 @@
     }
 
     /** Shows the bookmark manager on screen. */
-    public void showBookmarkManager(ChromeActivity chromeActivity) {
+    public BookmarkManagerCoordinator showBookmarkManager(ChromeActivity chromeActivity) {
+        BookmarkManagerCoordinator coordinator;
         // BookmarkActivity is only opened on phone, it is a native page on tablet.
         if (chromeActivity.isTablet()) {
+            // Wait for the bookmark native page to load to make sure that the reference to
+            // BookmarkManagerCoordinator is valid.
+            CallbackHelper callbackHelper = new CallbackHelper();
+            EmptyTabObserver obs =
+                    new EmptyTabObserver() {
+                        @Override
+                        public void onPageLoadFinished(Tab tab, GURL url) {
+                            NativePage nativePage = tab.getNativePage();
+                            if (nativePage != null
+                                    && nativePage.getHost().equals(UrlConstants.BOOKMARKS_HOST)) {
+                                callbackHelper.notifyCalled();
+                            }
+                        }
+                    };
+            runOnUiThreadBlocking(() -> chromeActivity.getActivityTab().addObserver(obs));
             showBookmarkManagerInternal(chromeActivity);
+            try {
+                callbackHelper.waitForCallback(0);
+            } catch (TimeoutException e) {
+                throw new RuntimeException(e);
+            }
+            runOnUiThreadBlocking(() -> chromeActivity.getActivityTab().removeObserver(obs));
+
+            coordinator =
+                    ((BookmarkPage) chromeActivity.getActivityTab().getNativePage())
+                            .getManagerForTesting();
+
         } else {
             mBookmarkActivity =
                     ActivityTestUtils.waitForActivity(
                             InstrumentationRegistry.getInstrumentation(),
                             BookmarkActivity.class,
                             () -> showBookmarkManagerInternal(chromeActivity));
+            coordinator = mBookmarkActivity.getManagerForTesting();
         }
         BookmarkTestUtil.waitForBookmarkModelLoaded();
+        return coordinator;
     }
 
     /** Returns the bookmark activity. */
diff --git a/chrome/test/data/extensions/manifest_tests/automation_all_hosts_interact_false.json b/chrome/test/data/extensions/manifest_tests/automation_all_hosts_interact_false.json
deleted file mode 100644
index 9b04c543..0000000
--- a/chrome/test/data/extensions/manifest_tests/automation_all_hosts_interact_false.json
+++ /dev/null
@@ -1,9 +0,0 @@
-{
-  "name": "unit_tests --gtest_filter=AutomationManifestTest.AllHostsInteractFalse",
-  "version": "1",
-  "manifest_version": 2,
-  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8xv6iO+j4kzj1HiBL93+XVJH/CRyAQMUHS/Z0l8nCAzaAFkW/JsNwxJqQhrZspnxLqbQxNncXs6g6bsXAwKHiEs+LSs+bIv0Gc/2ycZdhXJ8GhEsSMakog5dpQd1681c2gLK/8CrAoewE/0GIKhaFcp7a2iZlGh4Am6fgMKy0iQIDAQAB",
-  "automation": {
-    "matches": [ "<all_urls>" ]
-  }
-}
diff --git a/chrome/test/data/extensions/manifest_tests/automation_all_hosts_interact_true.json b/chrome/test/data/extensions/manifest_tests/automation_all_hosts_interact_true.json
deleted file mode 100644
index 98eefe7..0000000
--- a/chrome/test/data/extensions/manifest_tests/automation_all_hosts_interact_true.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "name": "unit_tests --gtest_filter=AutomationManifestTest.AllHostsInteractTrue:ChromePermissionMessageProviderUnittest.PowerfulPermissions",
-  "version": "1",
-  "manifest_version": 2,
-  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8xv6iO+j4kzj1HiBL93+XVJH/CRyAQMUHS/Z0l8nCAzaAFkW/JsNwxJqQhrZspnxLqbQxNncXs6g6bsXAwKHiEs+LSs+bIv0Gc/2ycZdhXJ8GhEsSMakog5dpQd1681c2gLK/8CrAoewE/0GIKhaFcp7a2iZlGh4Am6fgMKy0iQIDAQAB",
-  "automation": {
-    "interact": true,
-    "matches": [ "<all_urls>" ]
-  }
-}
diff --git a/chrome/test/data/extensions/manifest_tests/automation_desktop_interact_false.json b/chrome/test/data/extensions/manifest_tests/automation_desktop_interact_false.json
deleted file mode 100644
index 0314a3a..0000000
--- a/chrome/test/data/extensions/manifest_tests/automation_desktop_interact_false.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "name": "unit_tests --gtest_filter=AutomationManifestTest.Desktop_InteractFalse",
-  "version": "1",
-  "manifest_version": 2,
-  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8xv6iO+j4kzj1HiBL93+XVJH/CRyAQMUHS/Z0l8nCAzaAFkW/JsNwxJqQhrZspnxLqbQxNncXs6g6bsXAwKHiEs+LSs+bIv0Gc/2ycZdhXJ8GhEsSMakog5dpQd1681c2gLK/8CrAoewE/0GIKhaFcp7a2iZlGh4Am6fgMKy0iQIDAQAB",
-  "automation": {
-    "desktop": true,
-    "interact": false
-  }
-}
diff --git a/chrome/test/data/extensions/manifest_tests/automation_desktop_interact_true.json b/chrome/test/data/extensions/manifest_tests/automation_desktop_interact_true.json
deleted file mode 100644
index 89b90d16..0000000
--- a/chrome/test/data/extensions/manifest_tests/automation_desktop_interact_true.json
+++ /dev/null
@@ -1,10 +0,0 @@
-{
-  "name": "unit_tests --gtest_filter=AutomationManifestTest.Desktop_InteractTrue",
-  "version": "1",
-  "manifest_version": 2,
-  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8xv6iO+j4kzj1HiBL93+XVJH/CRyAQMUHS/Z0l8nCAzaAFkW/JsNwxJqQhrZspnxLqbQxNncXs6g6bsXAwKHiEs+LSs+bIv0Gc/2ycZdhXJ8GhEsSMakog5dpQd1681c2gLK/8CrAoewE/0GIKhaFcp7a2iZlGh4Am6fgMKy0iQIDAQAB",
-  "automation": {
-    "desktop": true,
-    "interact": true
-  }
-}
diff --git a/chrome/test/data/extensions/manifest_tests/automation_interact_true.json b/chrome/test/data/extensions/manifest_tests/automation_interact_true.json
deleted file mode 100644
index bef486d..0000000
--- a/chrome/test/data/extensions/manifest_tests/automation_interact_true.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
-  "name": "unit_tests --gtest_filter=AutomationManifestTest.InteractTrue",
-  "version": "1",
-  "manifest_version": 2,
-  "key": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC8xv6iO+j4kzj1HiBL93+XVJH/CRyAQMUHS/Z0l8nCAzaAFkW/JsNwxJqQhrZspnxLqbQxNncXs6g6bsXAwKHiEs+LSs+bIv0Gc/2ycZdhXJ8GhEsSMakog5dpQd1681c2gLK/8CrAoewE/0GIKhaFcp7a2iZlGh4Am6fgMKy0iQIDAQAB",
-  "permissions": [
-    "http://www.google.com/"
-  ],
-  "automation": {
-    "interact": true
-  }
-}
diff --git a/chrome/test/data/webui/chromeos/personalization_app/personalization_router_element_test.ts b/chrome/test/data/webui/chromeos/personalization_app/personalization_router_element_test.ts
index 108cab49..67714a28 100644
--- a/chrome/test/data/webui/chromeos/personalization_app/personalization_router_element_test.ts
+++ b/chrome/test/data/webui/chromeos/personalization_app/personalization_router_element_test.ts
@@ -4,23 +4,26 @@
 
 import 'chrome://personalization/strings.m.js';
 
-import {GooglePhotosAlbum, GooglePhotosEnablementState, GooglePhotosPhoto, Paths, PersonalizationRouterElement} from 'chrome://personalization/js/personalization_app.js';
+import {GooglePhotosAlbum, GooglePhotosEnablementState, GooglePhotosPhoto, Paths, PersonalizationRouterElement, SeaPenTermsOfServiceDialogElement} from 'chrome://personalization/js/personalization_app.js';
 import {loadTimeData} from 'chrome://resources/js/load_time_data.js';
 import {assertEquals, assertFalse, assertNotEquals, assertTrue} from 'chrome://webui-test/chai_assert.js';
 import {waitAfterNextRender} from 'chrome://webui-test/polymer_test_util.js';
 
 import {baseSetup, initElement} from './personalization_app_test_utils.js';
 import {TestPersonalizationStore} from './test_personalization_store.js';
+import {TestSeaPenProvider} from './test_sea_pen_interface_provider.js';
 import {TestWallpaperProvider} from './test_wallpaper_interface_provider.js';
 
 suite('PersonalizationRouterElementTest', function() {
   let personalizationStore: TestPersonalizationStore;
   let wallpaperProvider: TestWallpaperProvider;
+  let seaPenProvider: TestSeaPenProvider;
 
   setup(() => {
     const mocks = baseSetup();
     personalizationStore = mocks.personalizationStore;
     wallpaperProvider = mocks.wallpaperProvider;
+    seaPenProvider = mocks.seaPenProvider;
   });
 
   test('will show ambient subpage if allowed', async () => {
@@ -151,7 +154,7 @@
   test('hides SeaPen from ineligible users', async () => {
     loadTimeData.overrideValues({isSeaPenEnabled: false});
 
-    const routerElement = initElement(PersonalizationRouterElement);
+    const routerElement = initElement(PersonalizationRouterElement, {});
 
     for (const path of [Paths.SEA_PEN_COLLECTION, Paths.SEA_PEN_RESULTS]) {
       PersonalizationRouterElement.instance().goToRoute(path);
@@ -198,4 +201,45 @@
         getComputedStyle(seaPenRouterElement).display, 'none',
         'sea-pen-router is shown');
   });
+
+  test(
+      'refuses SeaPen wallpaper terms and routes back to Wallpaper subpage',
+      async () => {
+        loadTimeData.overrideValues({isSeaPenEnabled: true});
+        personalizationStore.setReducersEnabled(true);
+
+        const routerElement = initElement(PersonalizationRouterElement);
+        await waitAfterNextRender(routerElement);
+
+        routerElement.goToRoute(Paths.SEA_PEN_COLLECTION);
+        await seaPenProvider.whenCalled('shouldShowSeaPenTermsOfServiceDialog');
+        await waitAfterNextRender(routerElement);
+
+        let seaPenRouterElement =
+            routerElement.shadowRoot!.querySelector('sea-pen-router');
+        assertTrue(!!seaPenRouterElement, 'sea-pen-router exists');
+        assertNotEquals(
+            getComputedStyle(seaPenRouterElement).display, 'none',
+            'sea-pen-router is shown');
+
+        const seaPenTermsDialog = seaPenRouterElement.shadowRoot!.querySelector(
+            SeaPenTermsOfServiceDialogElement.is);
+        assertTrue(
+            !!seaPenTermsDialog, 'SeaPen terms of service dialog is displayed');
+
+        const button = seaPenTermsDialog!.shadowRoot!.getElementById('refuse');
+        assertTrue(!!button, `refuse must exist`);
+        button!.click();
+        await waitAfterNextRender(routerElement!);
+
+        seaPenRouterElement =
+            routerElement.shadowRoot!.querySelector('sea-pen-router');
+        assertFalse(!!seaPenRouterElement, 'sea-pen-router no longer exists');
+
+        assertEquals(
+            Paths.COLLECTIONS,
+            routerElement.shadowRoot?.querySelector('iron-location')?.path,
+            'redirect to Wallpaper subpage');
+      });
+
 });
diff --git a/chrome/test/data/webui/chromeos/personalization_app/sea_pen_controller_test.ts b/chrome/test/data/webui/chromeos/personalization_app/sea_pen_controller_test.ts
index 610552a..e7cd50e 100644
--- a/chrome/test/data/webui/chromeos/personalization_app/sea_pen_controller_test.ts
+++ b/chrome/test/data/webui/chromeos/personalization_app/sea_pen_controller_test.ts
@@ -70,6 +70,7 @@
               thumbnails: null,
               pendingSelected: null,
               currentSelected: null,
+              shouldShowSeaPenTermsOfServiceDialog: false,
             }),
           },
           {
@@ -87,6 +88,7 @@
               thumbnails: null,
               pendingSelected: null,
               currentSelected: null,
+              shouldShowSeaPenTermsOfServiceDialog: false,
             }),
           },
           {
@@ -104,6 +106,7 @@
               thumbnails: seaPenProvider.images,
               pendingSelected: null,
               currentSelected: null,
+              shouldShowSeaPenTermsOfServiceDialog: false,
             }),
           },
         ],
diff --git a/chrome/test/data/webui/chromeos/personalization_app/sea_pen_recent_wallpapers_element_test.ts b/chrome/test/data/webui/chromeos/personalization_app/sea_pen_recent_wallpapers_element_test.ts
index c9432af2..4400f68 100644
--- a/chrome/test/data/webui/chromeos/personalization_app/sea_pen_recent_wallpapers_element_test.ts
+++ b/chrome/test/data/webui/chromeos/personalization_app/sea_pen_recent_wallpapers_element_test.ts
@@ -316,9 +316,9 @@
     });
   });
 
-  test(
-      'selects Wallpaper Info menu option for a Sea Pen wallpaper',
-      async () => {
+  // TODO(b/318418911) re-enable this test.
+  test.skip(
+      'select Wallpaper Info option for recent image', async () => {
         personalizationStore.data.wallpaper.seaPen.recentImages =
             seaPenProvider.recentImages;
 
diff --git a/chrome/test/data/webui/chromeos/personalization_app/sea_pen_router_element_test.ts b/chrome/test/data/webui/chromeos/personalization_app/sea_pen_router_element_test.ts
index c8e7766..d5a09ba 100644
--- a/chrome/test/data/webui/chromeos/personalization_app/sea_pen_router_element_test.ts
+++ b/chrome/test/data/webui/chromeos/personalization_app/sea_pen_router_element_test.ts
@@ -4,19 +4,31 @@
 
 import 'chrome://personalization/strings.m.js';
 
-import {SeaPenInputQueryElement, SeaPenPaths, SeaPenRecentWallpapersElement, SeaPenRouterElement, SeaPenTemplateQueryElement, SeaPenTemplatesElement} from 'chrome://personalization/js/personalization_app.js';
+import {SeaPenInputQueryElement, SeaPenPaths, SeaPenRecentWallpapersElement, SeaPenRouterElement, SeaPenTemplateQueryElement, SeaPenTemplatesElement, SeaPenTermsOfServiceDialogElement} from 'chrome://personalization/js/personalization_app.js';
 import {SeaPenQuery, SeaPenTemplateId} from 'chrome://resources/ash/common/sea_pen/sea_pen.mojom-webui.js';
 import {loadTimeData} from 'chrome://resources/js/load_time_data.js';
 import {assertEquals, assertFalse, assertTrue} from 'chrome://webui-test/chai_assert.js';
 import {flushTasks, waitAfterNextRender} from 'chrome://webui-test/polymer_test_util.js';
 
-import {baseSetup, initElement} from './personalization_app_test_utils.js';
+import {baseSetup, initElement, teardownElement} from './personalization_app_test_utils.js';
 import {TestPersonalizationStore} from './test_personalization_store.js';
 import {TestSeaPenProvider} from './test_sea_pen_interface_provider.js';
 
 suite('SeaPenRouterElementTest', function() {
   let personalizationStore: TestPersonalizationStore;
   let seaPenProvider: TestSeaPenProvider;
+  let routerElement: SeaPenRouterElement|null = null;
+
+  async function clickSeaPenTermsDialogButton(id: string) {
+    const termsDialog = routerElement!.shadowRoot!
+                            .querySelector<SeaPenTermsOfServiceDialogElement>(
+                                SeaPenTermsOfServiceDialogElement.is);
+    assertTrue(!!termsDialog, 'dialog element must exist to click button');
+    const button = termsDialog!.shadowRoot!.getElementById(id);
+    assertTrue(!!button, `button with id ${id} must exist`);
+    button!.click();
+    await waitAfterNextRender(routerElement!);
+  }
 
   setup(() => {
     loadTimeData.overrideValues(
@@ -26,30 +38,38 @@
     seaPenProvider = mocks.seaPenProvider;
   });
 
+  teardown(async () => {
+    await teardownElement(routerElement);
+    routerElement = null;
+  });
+
   test('shows templates and recent elements', async () => {
-    const router = initElement(SeaPenRouterElement, {basePath: '/base'});
-    router.goToRoute(SeaPenPaths.ROOT);
-    await waitAfterNextRender(router);
+    routerElement = initElement(SeaPenRouterElement, {basePath: '/base'});
+    routerElement.goToRoute(SeaPenPaths.ROOT);
+    await waitAfterNextRender(routerElement);
 
     assertTrue(
-        !!router.shadowRoot!.querySelector(SeaPenTemplatesElement.is),
+        !!routerElement.shadowRoot!.querySelector(SeaPenTemplatesElement.is),
         'sea-pen-templates shown on root');
     assertTrue(
-        !!router.shadowRoot!.querySelector(SeaPenRecentWallpapersElement.is),
+        !!routerElement.shadowRoot!.querySelector(
+            SeaPenRecentWallpapersElement.is),
         'sea-pen-recent-wallpapers shown on root');
 
     assertFalse(
-        !!router.shadowRoot!.querySelector(SeaPenInputQueryElement.is),
+        !!routerElement.shadowRoot!.querySelector(SeaPenInputQueryElement.is),
         'no input query element on root');
     assertFalse(
-        !!router.shadowRoot!.querySelector(SeaPenTemplateQueryElement.is),
+        !!routerElement.shadowRoot!.querySelector(
+            SeaPenTemplateQueryElement.is),
         'no template query element on root');
 
-    router.selectSeaPenTemplate(0 as SeaPenTemplateId);
-    await waitAfterNextRender(router);
+    routerElement.selectSeaPenTemplate(0 as SeaPenTemplateId);
+    await waitAfterNextRender(routerElement);
 
     assertTrue(
-        !!router.shadowRoot!.querySelector(SeaPenTemplateQueryElement.is),
+        !!routerElement.shadowRoot!.querySelector(
+            SeaPenTemplateQueryElement.is),
         'template query element is shown after selecting template');
   });
 
@@ -57,26 +77,27 @@
       'shows input query element if text input enabled and free form template is selected',
       async () => {
         loadTimeData.overrideValues({isSeaPenTextInputEnabled: true});
-        const router = initElement(SeaPenRouterElement, {
+        routerElement = initElement(SeaPenRouterElement, {
           basePath: '/base',
         });
-        router.goToRoute(SeaPenPaths.ROOT, {seaPenTemplateId: 'Query'});
-        await waitAfterNextRender(router);
+        routerElement.goToRoute(SeaPenPaths.ROOT, {seaPenTemplateId: 'Query'});
+        await waitAfterNextRender(routerElement);
 
         assertTrue(
-            !!router.shadowRoot!.querySelector(SeaPenInputQueryElement.is),
+            !!routerElement.shadowRoot!.querySelector(
+                SeaPenInputQueryElement.is),
             'input query element shown on root');
       });
 
   test('remove thumbnail images when templateId changes', async () => {
     personalizationStore.setReducersEnabled(true);
-    const router = initElement(SeaPenRouterElement, {basePath: '/base'});
+    routerElement = initElement(SeaPenRouterElement, {basePath: '/base'});
 
     // Navigate to a template with thumbnails.
-    router.goToRoute(
+    routerElement.goToRoute(
         SeaPenPaths.RESULTS,
         {seaPenTemplateId: SeaPenTemplateId.kFlower.toString()});
-    await waitAfterNextRender(router);
+    await waitAfterNextRender(routerElement);
     personalizationStore.data.wallpaper.seaPen.loading.thumbnails = false;
     personalizationStore.data.wallpaper.seaPen.thumbnails =
         seaPenProvider.images;
@@ -88,7 +109,7 @@
 
     // Update the template id, such as when switching templates via the
     // breadcrumb dropdown.
-    router.goToRoute(
+    routerElement.goToRoute(
         SeaPenPaths.RESULTS,
         {seaPenTemplateId: SeaPenTemplateId.kTranslucent.toString()});
     await flushTasks();
@@ -99,14 +120,14 @@
   });
 
   test('update template query when templateId changes', async () => {
-    const router = initElement(SeaPenRouterElement, {basePath: '/base'});
+    routerElement = initElement(SeaPenRouterElement, {basePath: '/base'});
     const initialTemplate = SeaPenTemplateId.kMineral;
     const finalTemplate = SeaPenTemplateId.kFlower;
-    router.goToRoute(
+    routerElement.goToRoute(
         SeaPenPaths.RESULTS, {seaPenTemplateId: initialTemplate.toString()});
-    await waitAfterNextRender(router);
+    await waitAfterNextRender(routerElement);
     const seaPenTemplateQueryElement =
-        router.shadowRoot!.querySelector('sea-pen-template-query')!;
+        routerElement.shadowRoot!.querySelector('sea-pen-template-query')!;
     const inspireButton =
         seaPenTemplateQueryElement.shadowRoot!.getElementById('inspire');
 
@@ -122,9 +143,9 @@
     seaPenProvider.reset();
 
     // Navigate to a new template.
-    router.goToRoute(
+    routerElement.goToRoute(
         SeaPenPaths.RESULTS, {seaPenTemplateId: finalTemplate.toString()});
-    await waitAfterNextRender(router);
+    await waitAfterNextRender(routerElement);
 
     // Clicking the inspire button should match the new rendered template.
     inspireButton!.click();
@@ -139,20 +160,65 @@
   });
 
   test('navigates back to root if unknown path', async () => {
-    const router = initElement(SeaPenRouterElement, {basePath: '/base'});
-    router.goToRoute(SeaPenPaths.RESULTS);
-    await waitAfterNextRender(router);
+    routerElement = initElement(SeaPenRouterElement, {basePath: '/base'});
+    routerElement.goToRoute(SeaPenPaths.RESULTS);
+    await waitAfterNextRender(routerElement);
 
     assertEquals(
         '/base/results',
-        router.shadowRoot?.querySelector('iron-location')?.path,
+        routerElement.shadowRoot?.querySelector('iron-location')?.path,
         'expected path is set');
 
-    router.goToRoute('/unknown' as SeaPenPaths);
-    await waitAfterNextRender(router);
+    routerElement.goToRoute('/unknown' as SeaPenPaths);
+    await waitAfterNextRender(routerElement);
 
     assertEquals(
-        '/base', router.shadowRoot?.querySelector('iron-location')?.path,
+        '/base', routerElement.shadowRoot?.querySelector('iron-location')?.path,
         'path set back to root');
   });
+
+
+  test('shows SeaPen terms dialog', async () => {
+    personalizationStore.setReducersEnabled(true);
+    routerElement = initElement(SeaPenRouterElement, {
+      basePath: '/base',
+    });
+
+    await seaPenProvider.whenCalled('shouldShowSeaPenTermsOfServiceDialog');
+    await waitAfterNextRender(routerElement);
+
+    const seaPenTermsDialog = routerElement.shadowRoot!.querySelector(
+        SeaPenTermsOfServiceDialogElement.is);
+    assertTrue(
+        !!seaPenTermsDialog, 'SeaPen terms of service dialog is displayed');
+  });
+
+  test(
+      'accepts the SeaPen wallpaper terms and closes the terms dialog',
+      async () => {
+        personalizationStore.setReducersEnabled(true);
+        routerElement = initElement(SeaPenRouterElement, {
+          basePath: '/base',
+        });
+
+        await seaPenProvider.whenCalled('shouldShowSeaPenTermsOfServiceDialog');
+        await waitAfterNextRender(routerElement);
+
+        let seaPenTermsDialog = routerElement.shadowRoot!.querySelector(
+            SeaPenTermsOfServiceDialogElement.is);
+        assertTrue(
+            !!seaPenTermsDialog, 'SeaPen terms of service dialog is displayed');
+
+        await clickSeaPenTermsDialogButton('accept');
+
+        seaPenTermsDialog = routerElement.shadowRoot!.querySelector(
+            SeaPenTermsOfServiceDialogElement.is);
+        assertFalse(
+            !!seaPenTermsDialog, 'Sea Pen wallpaper terms dialog is closed');
+
+        assertEquals(
+            '/base',
+            routerElement.shadowRoot?.querySelector('iron-location')?.path,
+            'path remains the same');
+      });
 });
diff --git a/chrome/test/data/webui/chromeos/personalization_app/test_sea_pen_interface_provider.ts b/chrome/test/data/webui/chromeos/personalization_app/test_sea_pen_interface_provider.ts
index 518bdfde..e40caa8 100644
--- a/chrome/test/data/webui/chromeos/personalization_app/test_sea_pen_interface_provider.ts
+++ b/chrome/test/data/webui/chromeos/personalization_app/test_sea_pen_interface_provider.ts
@@ -3,7 +3,7 @@
 // found in the LICENSE file.
 
 import {RecentSeaPenData} from 'chrome://personalization/js/personalization_app.js';
-import {MantaStatusCode, SeaPenProviderInterface, SeaPenQuery, SeaPenThumbnail} from 'chrome://resources/ash/common/sea_pen/sea_pen.mojom-webui.js';
+import {MantaStatusCode, SeaPenFeedbackMetadata, SeaPenProviderInterface, SeaPenQuery, SeaPenThumbnail} from 'chrome://resources/ash/common/sea_pen/sea_pen.mojom-webui.js';
 import {FilePath} from 'chrome://resources/mojo/mojo/public/mojom/base/file_path.mojom-webui.js';
 import {TestBrowserProxy} from 'chrome://webui-test/test_browser_proxy.js';
 
@@ -53,6 +53,8 @@
       ReturnType<SeaPenProviderInterface['selectSeaPenThumbnail']> =
           Promise.resolve({success: true});
 
+  shouldShowSeaPenTermsOfServiceDialogResponse = true;
+
   constructor() {
     super([
       'searchWallpaper',
@@ -61,6 +63,8 @@
       'getRecentSeaPenImages',
       'getRecentSeaPenImageThumbnail',
       'deleteRecentSeaPenImage',
+      'shouldShowSeaPenTermsOfServiceDialog',
+      'handleSeaPenTermsOfServiceAccepted',
     ]);
   }
 
@@ -97,4 +101,20 @@
     this.recentImages.splice(this.recentImages.indexOf(filePath), 1);
     return Promise.resolve({success: true});
   }
+
+  openFeedbackDialog(metadata: SeaPenFeedbackMetadata): void {
+    this.methodCalled('openFeedbackDialog', metadata);
+    return;
+  }
+
+  shouldShowSeaPenTermsOfServiceDialog() {
+    this.methodCalled('shouldShowSeaPenTermsOfServiceDialog');
+    return Promise.resolve(
+        {shouldShowDialog: this.shouldShowSeaPenTermsOfServiceDialogResponse});
+  }
+
+  handleSeaPenTermsOfServiceAccepted() {
+    this.methodCalled('handleSeaPenTermsOfServiceAccepted');
+    this.shouldShowSeaPenTermsOfServiceDialogResponse = false;
+  }
 }
diff --git a/chrome/test/data/webui/chromeos/shortcut_customization/search_box_test.ts b/chrome/test/data/webui/chromeos/shortcut_customization/search_box_test.ts
index 6b0585e7..e0dd472 100644
--- a/chrome/test/data/webui/chromeos/shortcut_customization/search_box_test.ts
+++ b/chrome/test/data/webui/chromeos/shortcut_customization/search_box_test.ts
@@ -103,6 +103,7 @@
 
     // Setting the value of the search field searches for the query after a
     // short period of time.
+    searchFieldElement.$.searchInput.focus();
     searchFieldElement.setValue(query);
 
     if (query) {
diff --git a/chrome/test/data/webui/chromeos/vc_background_ui/vc_background_ui_test.ts b/chrome/test/data/webui/chromeos/vc_background_ui/vc_background_ui_test.ts
index e58248c..8680670 100644
--- a/chrome/test/data/webui/chromeos/vc_background_ui/vc_background_ui_test.ts
+++ b/chrome/test/data/webui/chromeos/vc_background_ui/vc_background_ui_test.ts
@@ -89,8 +89,8 @@
         'Expected template text is shown for Classic art');
 
     assertEquals(
-        'chrome://vc-background/?seaPenTemplateId=2', window.location.href,
-        'Classic art template id is added to url');
+        'chrome://vc-background/?seaPenTemplateId=104', window.location.href,
+        'VC Background Classic art template id is added to url');
 
     // Breadcrumbs have not changed yet.
     assertArrayEquals(
@@ -120,7 +120,7 @@
     await waitAfterNextRender(seaPenTemplateQuery);
 
     assertEquals(
-        'chrome://vc-background/results?seaPenTemplateId=2',
+        'chrome://vc-background/results?seaPenTemplateId=104',
         window.location.href,
         'App is on /results and Classic art template id is added to url');
 
@@ -133,7 +133,7 @@
   test('allows changing templates via breadcrumbs dropdown menu', async () => {
     // Navigate directly to a results page with template in breadcrumbs.
     const seaPenRouter = getSeaPenRouter();
-    seaPenRouter.goToRoute(SeaPenPaths.RESULTS, {seaPenTemplateId: '2'});
+    seaPenRouter.goToRoute(SeaPenPaths.RESULTS, {seaPenTemplateId: '104'});
     await waitAfterNextRender(seaPenRouter);
 
     const breadcrumbElement = getVcBackgroundBreadcrumbs();
@@ -161,20 +161,22 @@
     const allMenuItems = dropdownMenu.querySelectorAll('button');
     assertEquals(allMenuItems.length, getSeaPenTemplates().length);
 
-    // Click on the 'Minerals' template.
-    allMenuItems[1]!.click();
+    // Click on the 'Office' template.
+    const officeTitle = 'Stylish office';
+    Array.from(allMenuItems)
+        .find(el => el.textContent?.trim() === officeTitle)!.click();
 
     await waitAfterNextRender(breadcrumbElement);
 
     // We should be redirected to the new template page.
     assertEquals(
-        'chrome://vc-background/results?seaPenTemplateId=1',
+        'chrome://vc-background/results?seaPenTemplateId=101',
         window.location.href,
-        'App is on /results and Minerals template id is added to url');
+        'App is on /results and Office template id is added to url');
 
-    // Breadcrumbs should now show 'Minerals'.
+    // Breadcrumbs should now show 'Stylish office'.
     assertArrayEquals(
         getVcBackgroundBreadcrumbsText(),
-        [getVcBackgroundBreadcrumbs().i18n('seaPenLabel'), 'Minerals']);
+        [getVcBackgroundBreadcrumbs().i18n('seaPenLabel'), officeTitle]);
   });
 });
diff --git a/chrome/test/data/webui/cr_elements/cr_toolbar_search_field_test.ts b/chrome/test/data/webui/cr_elements/cr_toolbar_search_field_test.ts
index 3cf7808..acd1e6c 100644
--- a/chrome/test/data/webui/cr_elements/cr_toolbar_search_field_test.ts
+++ b/chrome/test/data/webui/cr_elements/cr_toolbar_search_field_test.ts
@@ -6,10 +6,9 @@
 import 'chrome://resources/cr_elements/cr_toolbar/cr_toolbar_search_field.js';
 
 import {CrToolbarSearchFieldElement} from 'chrome://resources/cr_elements/cr_toolbar/cr_toolbar_search_field.js';
-
 import {pressAndReleaseKeyOn} from 'chrome://resources/polymer/v3_0/iron-test-helpers/mock-interactions.js';
 import {flush} from 'chrome://resources/polymer/v3_0/polymer/polymer_bundled.min.js';
-import {assertDeepEquals, assertEquals, assertFalse, assertNotEquals, assertTrue} from 'chrome://webui-test/chai_assert.js';
+import {assertDeepEquals, assertEquals, assertNotEquals, assertFalse, assertTrue} from 'chrome://webui-test/chai_assert.js';
 // clang-format on
 
 /** @fileoverview Suite of tests for cr-toolbar-search-field. */
@@ -54,18 +53,13 @@
   });
 
   test('opens and closes correctly', function() {
+    field.narrow = true;
     assertFalse(field.showingSearch);
     field.click();
     assertTrue(field.showingSearch);
     const searchInput = /** @type {!HTMLElement} */ (field.$.searchInput);
     assertEquals(searchInput, field.shadowRoot!.activeElement);
 
-    field.$.searchInput.blur();
-    assertFalse(field.showingSearch);
-
-    field.click();
-    assertEquals(searchInput, field.shadowRoot!.activeElement);
-
     pressAndReleaseKeyOn(searchInput, 27, '', 'Escape');
     assertFalse(field.showingSearch, 'Pressing escape closes field.');
     assertNotEquals(searchInput, field.shadowRoot!.activeElement);
diff --git a/chrome/updater/BUILD.gn b/chrome/updater/BUILD.gn
index a3b4cb2..53ff82f 100644
--- a/chrome/updater/BUILD.gn
+++ b/chrome/updater/BUILD.gn
@@ -304,8 +304,14 @@
         "//chrome/installer/util:metainstaller_utils",
         "//chrome/installer/util:work_item",
         "//chrome/updater/app/server/win:updater_idl",
+        "//chrome/updater/app/server/win:updater_idl_system",
+        "//chrome/updater/app/server/win:updater_idl_user",
         "//chrome/updater/app/server/win:updater_internal_idl",
+        "//chrome/updater/app/server/win:updater_internal_idl_system",
+        "//chrome/updater/app/server/win:updater_internal_idl_user",
         "//chrome/updater/app/server/win:updater_legacy_idl",
+        "//chrome/updater/app/server/win:updater_legacy_idl_system",
+        "//chrome/updater/app/server/win:updater_legacy_idl_user",
         "//chrome/updater/win/ui/resources",
         "//chrome/updater/win/ui/resources:strings",
         "//components/winhttp",
diff --git a/chrome/updater/app/server/posix/update_service_stub.cc b/chrome/updater/app/server/posix/update_service_stub.cc
index c258e7a..4a71520 100644
--- a/chrome/updater/app/server/posix/update_service_stub.cc
+++ b/chrome/updater/app/server/posix/update_service_stub.cc
@@ -149,13 +149,32 @@
                   std::move(callback));
   }
 
-  // The rest of updater::mojom::UpdateService is rejected.
-  void FetchPolicies(FetchPoliciesCallback callback) override {
-    VLOG(1) << __func__ << " rejected (untrusted caller)";
+  void CheckForUpdate(
+      const std::string& app_id,
+      UpdateService::Priority priority,
+      UpdateService::PolicySameVersionUpdate policy_same_version_update,
+      UpdateCallback callback) override {
     DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-    std::move(callback).Run(kErrorPermissionDenied);
+    impl_->CheckForUpdate(app_id, priority, policy_same_version_update,
+                          std::move(callback));
   }
 
+  void RunPeriodicTasks(RunPeriodicTasksCallback callback) override {
+    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+    impl_->RunPeriodicTasks(std::move(callback));
+  }
+
+  void FetchPolicies(FetchPoliciesCallback callback) override {
+    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+    impl_->FetchPolicies(std::move(callback));
+  }
+
+  void UpdateAll(UpdateAllCallback callback) override {
+    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
+    impl_->UpdateAll(std::move(callback));
+  }
+
+  // The rest of updater::mojom::UpdateService is rejected.
   void RegisterApp(mojom::RegistrationRequestPtr request,
                    RegisterAppCallback callback) override {
     VLOG(1) << __func__ << " rejected (untrusted caller)";
@@ -163,20 +182,6 @@
     std::move(callback).Run(kErrorPermissionDenied);
   }
 
-  void RunPeriodicTasks(RunPeriodicTasksCallback callback) override {
-    VLOG(1) << __func__ << " rejected (untrusted caller)";
-    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-    std::move(callback).Run();
-  }
-
-  void UpdateAll(UpdateAllCallback callback) override {
-    VLOG(1) << __func__ << " rejected (untrusted caller)";
-    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-    mojo::Remote<mojom::StateChangeObserver> observer;
-    std::move(callback).Run(observer.BindNewPipeAndPassReceiver());
-    observer->OnComplete(mojom::UpdateService_Result::kPermissionDenied);
-  }
-
   void Install(mojom::RegistrationRequestPtr registration,
                const std::string& client_install_data,
                const std::string& install_data_index,
@@ -207,16 +212,6 @@
     observer->OnComplete(mojom::UpdateService_Result::kPermissionDenied);
   }
 
-  void CheckForUpdate(
-      const std::string& app_id,
-      UpdateService::Priority priority,
-      UpdateService::PolicySameVersionUpdate policy_same_version_update,
-      UpdateCallback callback) override {
-    DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
-    impl_->CheckForUpdate(app_id, priority, policy_same_version_update,
-                          std::move(callback));
-  }
-
  private:
   void OnClientDisconnected();
 
diff --git a/chrome/updater/app/server/win/BUILD.gn b/chrome/updater/app/server/win/BUILD.gn
index c4afdf66..7914f7b 100644
--- a/chrome/updater/app/server/win/BUILD.gn
+++ b/chrome/updater/app/server/win/BUILD.gn
@@ -19,13 +19,27 @@
       script,
       invoker.idl_template_filename,
     ]
-    output_file = "$target_gen_dir/" + invoker.idl_template_filename
+
+    idl_filename = invoker.idl_template_filename
+    if (invoker.generate_for != "") {
+      idl_filename = get_path_info(invoker.idl_template_filename, "name") +
+                     "_" + invoker.generate_for + "." +
+                     get_path_info(invoker.idl_template_filename, "extension")
+    }
+
+    output_file = "${target_gen_dir}/${idl_filename}"
     args = [
       "--idl_template_file",
       rebase_path(invoker.idl_template_filename, root_build_dir),
       "--idl_output_file",
       rebase_path(output_file, root_build_dir),
     ]
+    if (invoker.generate_for != "") {
+      args += [
+        "--generate_for",
+        invoker.generate_for,
+      ]
+    }
     outputs = [ output_file ]
   }
 }
@@ -34,18 +48,30 @@
   assert(defined(invoker.replacement_guids),
          "Need `replacement_guids` in $target_name for placeholder guids.")
 
-  target_name_generate = target_name + "_gen"
-  target_name_template = target_name + ".template"
+  foreach(scope,
+          [
+            "",
+            "user",
+            "system",
+          ]) {
+    midl_target_name = target_name
+    if (scope != "") {
+      midl_target_name = target_name + "_" + scope
+    }
+    target_name_generate = midl_target_name + "_gen"
+    target_name_template = target_name + ".template"
 
-  generate_user_system_idl(target_name_generate) {
-    idl_template_filename = target_name_template
-  }
+    generate_user_system_idl(target_name_generate) {
+      idl_template_filename = target_name_template
+      generate_for = scope
+    }
 
-  midl(target_name) {
-    dynamic_guids = "ignore_proxy_stub," + invoker.replacement_guids
-    sources = get_target_outputs(":$target_name_generate")
-    writes_tlb = true
-    deps = [ ":$target_name_generate" ]
+    midl(midl_target_name) {
+      dynamic_guids = "ignore_proxy_stub," + invoker.replacement_guids
+      sources = get_target_outputs(":$target_name_generate")
+      writes_tlb = true
+      deps = [ ":$target_name_generate" ]
+    }
   }
 }
 
diff --git a/chrome/updater/win/updater.rc b/chrome/updater/win/updater.rc
index 31a69fd..66626ab 100644
--- a/chrome/updater/win/updater.rc
+++ b/chrome/updater/win/updater.rc
@@ -9,4 +9,10 @@
 1 TYPELIB "chrome/updater/app/server/win/updater_idl.tlb"
 2 TYPELIB "chrome/updater/app/server/win/updater_internal_idl.tlb"
 3 TYPELIB "chrome/updater/app/server/win/updater_legacy_idl.tlb"
+4 TYPELIB "chrome/updater/app/server/win/updater_idl_user.tlb"
+5 TYPELIB "chrome/updater/app/server/win/updater_internal_idl_user.tlb"
+6 TYPELIB "chrome/updater/app/server/win/updater_legacy_idl_user.tlb"
+7 TYPELIB "chrome/updater/app/server/win/updater_idl_system.tlb"
+8 TYPELIB "chrome/updater/app/server/win/updater_internal_idl_system.tlb"
+9 TYPELIB "chrome/updater/app/server/win/updater_legacy_idl_system.tlb"
 
diff --git a/chromeos/ash/components/report/device_metrics/churn/observation_impl.cc b/chromeos/ash/components/report/device_metrics/churn/observation_impl.cc
index 450e14b..0a4133dc 100644
--- a/chromeos/ash/components/report/device_metrics/churn/observation_impl.cc
+++ b/chromeos/ash/components/report/device_metrics/churn/observation_impl.cc
@@ -430,6 +430,34 @@
     return std::nullopt;
   }
 
+  // Finch flag is disabled by default.
+  if (base::FeatureList::IsEnabled(
+          features::kDeviceActiveClientChurnObservationNewDeviceMetadata)) {
+    std::optional<base::Time> first_active_week_ts =
+        utils::GetFirstActiveWeek();
+
+    if (first_active_week_ts->is_null() ||
+        first_active_week_ts.value() == base::Time::UnixEpoch()) {
+      LOG(ERROR) << "Failed to retrieve first active week from VPD. Leaving "
+                    "first active and last powerwash week unset.";
+    } else {
+      bool within_date_range = utils::IsFirstActiveUnderFourMonthsAgo(
+          active_ts, first_active_week_ts.value());
+
+      // Privacy approved 4 months of first active week history.
+      // Reference b/316402479.
+      if (within_date_range) {
+        observation_metadata->set_first_active_week(
+            utils::ConvertTimeToISO8601String(first_active_week_ts.value()));
+
+        // Last powerwash week is read from preserved file and stored in
+        // |ReportControllerInitializer|.
+        observation_metadata->set_last_powerwash_week(
+            GetParams()->GetChromeDeviceParams().last_powerwash_week);
+      }
+    }
+  }
+
   import_data.set_plaintext_id(psm_id.value().sensitive_id());
   import_data.set_window_identifier(window_id);
   import_data.set_is_pt_window_identifier(true);
diff --git a/chromeos/ash/components/report/device_metrics/churn/observation_impl_unittest.cc b/chromeos/ash/components/report/device_metrics/churn/observation_impl_unittest.cc
index f71b968a..b1a5270 100644
--- a/chromeos/ash/components/report/device_metrics/churn/observation_impl_unittest.cc
+++ b/chromeos/ash/components/report/device_metrics/churn/observation_impl_unittest.cc
@@ -318,4 +318,33 @@
       prefs::kDeviceActiveLastKnownIsActiveCurrentPeriodMinus2));
 }
 
+TEST_F(ObservationImplDirectCheckInTest, ValidateNewDeviceChurnMetadata) {
+  ASSERT_EQ(GetLastPingTimestamp(), base::Time::UnixEpoch());
+
+  // Observation import will only go through if cohort imported successfully.
+  // Setup initial value to be last active in Jan-2023.
+  // Value represents device was active each of the 18 months prior.
+  // Represents binary: 0100010100 001010010010010101
+  base::Time cur_ts = GetFakeTimeNow();
+  int cur_value = 72393877;
+  GetLocalState()->SetTime(prefs::kDeviceActiveChurnCohortMonthlyPingTimestamp,
+                           cur_ts);
+  GetLocalState()->SetInteger(prefs::kDeviceActiveLastKnownChurnActiveStatus,
+                              cur_value);
+
+  // Execute observation reporting logic.
+  GetObservationImpl()->Run(base::DoNothing());
+
+  // Return well formed response bodies for the pending network requests.
+  SimulateImportResponse(std::string(), net::HTTP_OK);
+
+  EXPECT_EQ(GetLastPingTimestamp(), cur_ts);
+  EXPECT_TRUE(GetLocalState()->GetBoolean(
+      prefs::kDeviceActiveLastKnownIsActiveCurrentPeriodMinus0));
+  EXPECT_TRUE(GetLocalState()->GetBoolean(
+      prefs::kDeviceActiveLastKnownIsActiveCurrentPeriodMinus1));
+  EXPECT_TRUE(GetLocalState()->GetBoolean(
+      prefs::kDeviceActiveLastKnownIsActiveCurrentPeriodMinus2));
+}
+
 }  // namespace ash::report::device_metrics
diff --git a/chromeos/ash/components/report/device_metrics/use_case/use_case.h b/chromeos/ash/components/report/device_metrics/use_case/use_case.h
index 4a6589c..16b4cd41 100644
--- a/chromeos/ash/components/report/device_metrics/use_case/use_case.h
+++ b/chromeos/ash/components/report/device_metrics/use_case/use_case.h
@@ -38,6 +38,7 @@
     ChromeDeviceMetadataParameters {
   version_info::Channel chrome_channel;
   MarketSegment market_segment;
+  const std::string last_powerwash_week;
 };
 
 // Helper class to group UseCase class parameters.
diff --git a/chromeos/ash/components/report/proto/fresnel_service.proto b/chromeos/ash/components/report/proto/fresnel_service.proto
index fa9a74d..09475fbf 100644
--- a/chromeos/ash/components/report/proto/fresnel_service.proto
+++ b/chromeos/ash/components/report/proto/fresnel_service.proto
@@ -126,9 +126,11 @@
   // Value exists after first OOBE completion and device restart.
   // Statistics provider loads VPD file in the chrome browser preloop,
   // before ActivateDate may be first written.
-  optional string first_activate_week = 4;
+  // Field is only set if ActivateDate is <= 4 months old.
+  optional string first_active_week = 4;
 
   // Device last powerwash week. Formatted YYYY-WW in ISO8601 format.
+  // Field is only set if ActivateDate is <= 4 months old.
   optional string last_powerwash_week = 5;
 }
 
diff --git a/chromeos/ash/components/report/utils/time_utils.cc b/chromeos/ash/components/report/utils/time_utils.cc
index 51861c2..6affbbbe 100644
--- a/chromeos/ash/components/report/utils/time_utils.cc
+++ b/chromeos/ash/components/report/utils/time_utils.cc
@@ -136,6 +136,16 @@
          (ts1_exploded.month == ts2_exploded.month);
 }
 
+bool IsFirstActiveUnderFourMonthsAgo(base::Time active_ts,
+                                     base::Time first_active_week) {
+  // Simplify calculation to determine whether device was first active
+  // within 4 months in the past. Assume max of 31 days in a month.
+  base::Time starting_point = active_ts - base::Days(4 * 31);
+
+  // Check if first_active_week is after the starting point
+  return first_active_week >= starting_point;
+}
+
 std::string FormatTimestampToMidnightGMTString(base::Time ts) {
   return base::UnlocalizedTimeFormatWithPattern(ts, "yyyy-MM-dd 00:00:00.000 z",
                                                 icu::TimeZone::getGMT());
@@ -285,4 +295,57 @@
   return first_monday_iso_year.value() + base::Days(days_in_iso_period);
 }
 
+std::string ConvertTimeToISO8601String(base::Time ts) {
+  if (ts.is_null()) {
+    LOG(ERROR) << "Timestamp ts is not defined correctly. ts = " << ts;
+    return std::string();
+  }
+
+  // Calculate the year of the given time
+  base::Time::Exploded exploded;
+  ts.UTCExplode(&exploded);
+  int activate_year = exploded.year;
+
+  std::optional<base::Time> first_monday_iso_year =
+      FirstMondayOfISONewYear(activate_year);
+
+  if (!first_monday_iso_year.has_value()) {
+    return std::string();
+  }
+
+  // Assign to the last ISO week of previous year. We use W52 for simplicity.
+  // Some years have 53 weeks, but we simply use 52 to avoid complexity here.
+  // This captures ts for up to the 3 days after the new year that are apart of
+  // the previous year last ISO week.
+  if (ts < first_monday_iso_year.value()) {
+    return std::to_string(activate_year - 1) + "-52";
+  }
+
+  std::optional<base::Time> first_monday_iso_year_next =
+      FirstMondayOfISONewYear(activate_year + 1);
+
+  if (!first_monday_iso_year_next.has_value()) {
+    return std::string();
+  }
+
+  // Assign to first ISO week of next year.
+  // This captures ts for up to the 3 days before the new year that are apart of
+  // the current year first ISO week.
+  if (ts >= first_monday_iso_year_next.value()) {
+    return std::to_string(activate_year + 1) + "-01";
+  }
+
+  // Calculate the number of days between the given time and the first
+  // Monday of the year
+  base::TimeDelta delta = ts - first_monday_iso_year.value();
+  int days_difference = delta.InDays();
+
+  // Calculate the ISO 8601 week number
+  int activate_week_of_year = days_difference / 7 + 1;
+
+  return std::to_string(activate_year) + "-" +
+         (activate_week_of_year < 10 ? "0" : "") +
+         std::to_string(activate_week_of_year);
+}
+
 }  // namespace ash::report::utils
diff --git a/chromeos/ash/components/report/utils/time_utils.h b/chromeos/ash/components/report/utils/time_utils.h
index 9a5b147..5ed1d18 100644
--- a/chromeos/ash/components/report/utils/time_utils.h
+++ b/chromeos/ash/components/report/utils/time_utils.h
@@ -44,6 +44,10 @@
 // Return if |ts1| and |ts2| have the same month and year.
 bool IsSameYearAndMonth(base::Time ts1, base::Time ts2);
 
+// Checks if first active week is under 4 months before active_ts.
+bool IsFirstActiveUnderFourMonthsAgo(base::Time active_ts,
+                                     base::Time first_active_week);
+
 // Formats |ts| as a GMT string in the format "YYYY-MM-DD 00:00:00.000 GMT".
 std::string FormatTimestampToMidnightGMTString(base::Time ts);
 
@@ -69,6 +73,13 @@
 std::optional<base::Time> Iso8601DateWeekAsTime(int activate_year,
                                                 int activate_week_of_year);
 
+// Convert base::Time object to YYYY-WW similar to ISO8601.
+// ISO calendar new year may start 1-3 days before the Gregorian new year or
+// 1-3 days later.
+// i.e. 2020-01 year by ISO calendar starts 2 days before, on December 30
+// i.e. 2021-01 year by ISO calendar starts 3 days later, on January 4
+std::string ConvertTimeToISO8601String(base::Time ts);
+
 }  // namespace ash::report::utils
 
 #endif  // CHROMEOS_ASH_COMPONENTS_REPORT_UTILS_TIME_UTILS_H_
diff --git a/chromeos/ash/components/report/utils/time_utils_unittest.cc b/chromeos/ash/components/report/utils/time_utils_unittest.cc
index 0971d76..48285234 100644
--- a/chromeos/ash/components/report/utils/time_utils_unittest.cc
+++ b/chromeos/ash/components/report/utils/time_utils_unittest.cc
@@ -321,4 +321,62 @@
   EXPECT_EQ(result.value(), expected_ts);
 }
 
+TEST(TimeUtilsTest, ConvertTimeToISO8601String) {
+  // Call the method under test.
+  // Cross validated against calculator: https://planetcalc.com/8540/
+  struct {
+    base::Time::Exploded exploded;
+    std::string_view expected_yyyy_mm;
+  } kTestCases[] = {
+      {{2025, 1, 0, 1, 12, 30, 0, 0}, "2025-01"},
+      {{2020, 1, 0, 1, 12, 30, 0, 0}, "2020-01"},
+      {{2023, 1, 0, 1, 12, 30, 0, 0}, "2022-52"},
+      {{2023, 12, 0, 30, 12, 30, 0, 0}, "2023-52"},
+      {{2019, 12, 0, 30, 12, 30, 0, 0}, "2020-01"},
+      {{2019, 8, 0, 25, 12, 30, 0, 0}, "2019-34"},
+      {{2020, 8, 0, 25, 12, 30, 0, 0}, "2020-35"},
+      {{2021, 8, 0, 25, 12, 30, 0, 0}, "2021-34"},
+      {{2023, 11, 0, 25, 12, 30, 0, 0}, "2023-47"},
+      {{2020, 12, 0, 27, 12, 30, 0, 0}, "2020-52"},
+      {{2020, 12, 0, 28, 12, 30, 0, 0}, "2020-53"},
+      {{2021, 1, 0, 4, 12, 30, 0, 0}, "2021-01"},
+      // Edge Case: Returns 52 weeks, even though previous year has 53 weeks.
+      // ISO calendar date to Gregorian calendar calculator outputs 2020-53.
+      {{2021, 1, 0, 3, 12, 30, 0, 0}, "2020-52"},
+  };
+
+  for (const auto& test_case : kTestCases) {
+    SCOPED_TRACE(testing::Message() << "Case: " << test_case.expected_yyyy_mm);
+    base::Time test_ts;
+    EXPECT_TRUE(base::Time::FromUTCExploded(test_case.exploded, &test_ts));
+    EXPECT_EQ(ConvertTimeToISO8601String(test_ts), test_case.expected_yyyy_mm);
+  }
+}
+
+TEST(TimeUtilsTest, IsFirstActiveUnderFourMonthsAgo) {
+  struct {
+    base::Time::Exploded active_exploded;
+    base::Time::Exploded first_active_exploded;
+    bool expected_result;
+  } kTestCases[] = {
+      // Check when active and first active represent the same time.
+      {{2021, 1, 0, 3, 12, 30, 0, 0}, {2021, 1, 0, 3, 12, 30, 0, 0}, true},
+      // Check boundary case if first active under four months ago.
+      {{2021, 1, 0, 31, 12, 30, 0, 0}, {2020, 10, 0, 1, 12, 30, 0, 0}, true},
+      // Check outside four month boundary is false.
+      {{2021, 1, 0, 31, 12, 30, 0, 0}, {2020, 9, 0, 1, 12, 30, 0, 0}, false},
+  };
+
+  for (const auto& test_case : kTestCases) {
+    base::Time active_ts;
+    base::Time first_active_ts;
+    EXPECT_TRUE(
+        base::Time::FromUTCExploded(test_case.active_exploded, &active_ts));
+    EXPECT_TRUE(base::Time::FromUTCExploded(test_case.first_active_exploded,
+                                            &first_active_ts));
+    EXPECT_EQ(IsFirstActiveUnderFourMonthsAgo(active_ts, first_active_ts),
+              test_case.expected_result);
+  }
+}
+
 }  // namespace ash::report::utils
diff --git a/chromeos/assistant/internal b/chromeos/assistant/internal
index 24faabb..a2f5b17 160000
--- a/chromeos/assistant/internal
+++ b/chromeos/assistant/internal
@@ -1 +1 @@
-Subproject commit 24faabb647aebc6c9f94e2255fcfcfd163fea8f9
+Subproject commit a2f5b174dbc4f5a6ceb9757e9f292ff17015d7ad
diff --git a/chromeos/chromeos_strings.grd b/chromeos/chromeos_strings.grd
index 8863f5c7..37cbdd70 100644
--- a/chromeos/chromeos_strings.grd
+++ b/chromeos/chromeos_strings.grd
@@ -328,7 +328,7 @@
         Use Orca to create a draft or refine existing work, powered by Google AI
       </message>
       <message name="IDS_EDITOR_MENU_PROMO_CARD_DISMISS_BUTTON" desc="Label on the dismiss button in the dialog that is shown to introduce the Editor Menu feature." translateable="false">
-        Dismiss
+        No thanks
       </message>
       <message name="IDS_EDITOR_MENU_PROMO_CARD_TRY_IT_BUTTON" desc="Label on the try it button in the dialog that is shown to introduce the Editor Menu feature." translateable="false">
         Try it
@@ -3111,7 +3111,24 @@
         <message name="IDS_SEA_PEN_THUMBNAILS_LOADING" desc="Placeholder text displayed when thumbnails are loading">
           Generating images...
         </message>
-
+        <message name="IDS_SEA_PEN_FEEDBACK_PLACEHOLDER" desc="Placeholder text displayed in the feedback text box">
+          Feedback for wallpaper powered by Google AI
+        </message>
+        <message name="IDS_SEA_PEN_WALLPAPER_TERMS_DIALOG_TITLE" desc="Title for the wallpaper terms of service dialog.">
+          Terms of service
+        </message>
+        <message name="IDS_SEA_PEN_WALLPAPER_TERMS_ACCEPT_BUTTON" desc="The button which accepts and agrees to the terms for wallpaper service.">
+          I agree
+        </message>
+        <message name="IDS_SEA_PEN_WALLPAPER_TERMS_REFUSE_BUTTON" desc="The button which refuses the terms for wallpaper service.">
+          No thanks
+        </message>
+        <message name="IDS_SEA_PEN_WALLPAPER_TERMS_OF_SERVICE_DESC" desc="Title for the wallpaper terms of service dialog.">
+          You must be at least 18 years old and agree your use of AI wallpapers is subject to <ph name="GOOGLE_TERMS_OF_SERVICE_LINK">&lt;a target="_blank" href="https://policies.google.com/terms"&gt;</ph>Google Terms of Service<ph name="END_LINK_GOOGLE_TERMS_OF_SERVICE">&lt;/a&gt;</ph> and <ph name="BEGIN_LINK_GEN_AI_TERMS_OF_SERVICE">&lt;a target="_blank" href="https://policies.google.com/terms/generative-ai"&gt;</ph>Generative AI Additional Terms of Service<ph name="END_LINK_GEN_AI_TERMS_OF_SERVICE">&lt;/a&gt;</ph>.
+          <ph name="LINE_BREAK">&lt;br&gt;</ph>
+          <ph name="LINE_BREAK">&lt;br&gt;</ph>
+          You can only create wallpapers with AI for personal and non-commercial use. When you get wallpaper help, text is sent to Google AI servers to generate wallpaper suggestions, subject to <ph name="BEGIN_LINK_GOOGLE_PRIVACY_POLICY">&lt;a target="_blank" href="https://policies.google.com/privacy"&gt;</ph>Google's Privacy Policy<ph name="END_LINK_GOOGLE_PRIVACY_POLICY">&lt;/a&gt;</ph>. <ph name="BEGIN_LINK_LEARN_MORE">&lt;a target="_blank" href="https://support.google.com/chromebook?p=copyeditor"&gt;</ph>Learn more<ph name="END_LINK_LEARN_MORE">&lt;/a&gt;</ph>
+        </message>
 
         <!-- Traffic Counters UI -->
         <message name="IDS_TRAFFIC_COUNTERS_UNKNOWN" desc="Traffic counters related to an unknown source">
diff --git a/chromeos/chromeos_strings_grd/IDS_SEA_PEN_FEEDBACK_PLACEHOLDER.png.sha1 b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_FEEDBACK_PLACEHOLDER.png.sha1
new file mode 100644
index 0000000..2d737648
--- /dev/null
+++ b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_FEEDBACK_PLACEHOLDER.png.sha1
@@ -0,0 +1 @@
+75cec96434807de59568f3ab5ed50ece0c67b9fa
\ No newline at end of file
diff --git a/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_ACCEPT_BUTTON.png.sha1 b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_ACCEPT_BUTTON.png.sha1
new file mode 100644
index 0000000..f7cc1376
--- /dev/null
+++ b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_ACCEPT_BUTTON.png.sha1
@@ -0,0 +1 @@
+e2db48c2b7cd0a55768c648b68468e2ff998b71a
\ No newline at end of file
diff --git a/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_DIALOG_TITLE.png.sha1 b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_DIALOG_TITLE.png.sha1
new file mode 100644
index 0000000..d1e61db
--- /dev/null
+++ b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_DIALOG_TITLE.png.sha1
@@ -0,0 +1 @@
+ea47502dd6d8c4a46cc98f476fba3f1a1e636800
\ No newline at end of file
diff --git a/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_OF_SERVICE_DESC.png.sha1 b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_OF_SERVICE_DESC.png.sha1
new file mode 100644
index 0000000..084d626
--- /dev/null
+++ b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_OF_SERVICE_DESC.png.sha1
@@ -0,0 +1 @@
+564ac26ebe6c9ded301415f4c8e976c8378f552c
\ No newline at end of file
diff --git a/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_REFUSE_BUTTON.png.sha1 b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_REFUSE_BUTTON.png.sha1
new file mode 100644
index 0000000..f2feff2
--- /dev/null
+++ b/chromeos/chromeos_strings_grd/IDS_SEA_PEN_WALLPAPER_TERMS_REFUSE_BUTTON.png.sha1
@@ -0,0 +1 @@
+ef7d7bc124d54bc93c7e87988497ef0882c8964a
\ No newline at end of file
diff --git a/clank b/clank
index d3ffe42..3838874 160000
--- a/clank
+++ b/clank
@@ -1 +1 @@
-Subproject commit d3ffe4294cb16a32a496711c627d481ab591e9ae
+Subproject commit 3838874d88a750c9acca456bfe7bdcd5bd67a04d
diff --git a/components/autofill/core/browser/autofill_suggestion_generator.cc b/components/autofill/core/browser/autofill_suggestion_generator.cc
index 23190d9..17722273 100644
--- a/components/autofill/core/browser/autofill_suggestion_generator.cc
+++ b/components/autofill/core/browser/autofill_suggestion_generator.cc
@@ -1465,6 +1465,7 @@
     bool should_show_cards_from_account,
     bool& should_display_gpay_logo,
     bool& with_offer,
+    bool& with_cvc,
     autofill_metrics::CardMetadataLoggingContext& metadata_logging_context) {
   std::vector<Suggestion> suggestions;
   // Manual fallback entries are shown for all non credit card fields.
@@ -1516,6 +1517,9 @@
             credit_card, trigger_field_type,
             /*virtual_card_option=*/true, card_linked_offer_available));
       }
+      if (!credit_card.cvc().empty()) {
+        with_cvc = true;
+      }
       suggestions.push_back(CreateCreditCardSuggestion(
           credit_card, trigger_field_type,
           /*virtual_card_option=*/false, card_linked_offer_available));
diff --git a/components/autofill/core/browser/autofill_suggestion_generator.h b/components/autofill/core/browser/autofill_suggestion_generator.h
index f85c52e9..05e3e69 100644
--- a/components/autofill/core/browser/autofill_suggestion_generator.h
+++ b/components/autofill/core/browser/autofill_suggestion_generator.h
@@ -101,8 +101,10 @@
   // `should_display_gpay_logo` will be set to true if there are no credit card
   // suggestions, or all suggestions come from Payments server. `with_offer`
   // is set to true if ANY card has card-linked offers.
+  // `with_cvc` is set to true if ANY card has cvc saved.
   // `metadata_logging_context` contains card metadata related information used
   // for metrics logging.
+  // TODO(crbug.com/1519179): Merging out-parameters into a struct.
   std::vector<Suggestion> GetSuggestionsForCreditCards(
       const FormFieldData& trigger_field,
       FieldType trigger_field_type,
@@ -110,6 +112,7 @@
       bool should_show_cards_from_account,
       bool& should_display_gpay_logo,
       bool& with_offer,
+      bool& with_cvc,
       autofill_metrics::CardMetadataLoggingContext& metadata_logging_context);
 
   // Generates suggestions for standalone CVC fields. These only apply to
diff --git a/components/autofill/core/browser/autofill_suggestion_generator_unittest.cc b/components/autofill/core/browser/autofill_suggestion_generator_unittest.cc
index dd31e18..fc835db 100644
--- a/components/autofill/core/browser/autofill_suggestion_generator_unittest.cc
+++ b/components/autofill/core/browser/autofill_suggestion_generator_unittest.cc
@@ -1974,13 +1974,14 @@
 
   bool should_display_gpay_logo;
   bool with_offer;
+  bool with_cvc;
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
   std::vector<Suggestion> suggestions =
       suggestion_generator()->GetSuggestionsForCreditCards(
           FormFieldData(), CREDIT_CARD_NUMBER,
           /*should_show_scan_credit_card=*/false,
           /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-          with_offer, metadata_logging_context);
+          with_offer, with_cvc, metadata_logging_context);
 
   EXPECT_TRUE(with_offer);
   ASSERT_EQ(suggestions.size(), 3U);
@@ -2020,6 +2021,26 @@
   ASSERT_EQ(suggestions.size(), 1U);
 }
 
+// Ensures we appropriately generate suggestions for credit saved with CVC.
+TEST_F(AutofillSuggestionGeneratorTest, GetCardSuggestionsWithCvc) {
+  CreditCard card = test::WithCvc(test::GetMaskedServerCard2());
+  personal_data().AddServerCreditCard(card);
+
+  bool should_display_gpay_logo;
+  bool with_offer;
+  bool with_cvc;
+  autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
+  std::vector<Suggestion> suggestions =
+      suggestion_generator()->GetSuggestionsForCreditCards(
+          FormFieldData(), CREDIT_CARD_NUMBER,
+          /*should_show_scan_credit_card=*/false,
+          /*should_show_cards_from_account=*/false, should_display_gpay_logo,
+          with_offer, with_cvc, metadata_logging_context);
+
+  ASSERT_EQ(suggestions.size(), 1U);
+  EXPECT_TRUE(with_cvc);
+}
+
 // Verifies that the `should_display_gpay_logo` is set correctly.
 TEST_F(AutofillSuggestionGeneratorTest, ShouldDisplayGpayLogo) {
   // `should_display_gpay_logo` should be true if suggestions were all for
@@ -2035,13 +2056,14 @@
 
     bool should_display_gpay_logo;
     bool with_offer;
+    bool with_cvc;
     autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
     std::vector<Suggestion> suggestions =
         suggestion_generator()->GetSuggestionsForCreditCards(
             FormFieldData(), CREDIT_CARD_NUMBER,
             /*should_show_scan_credit_card=*/false,
             /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-            with_offer, metadata_logging_context);
+            with_offer, with_cvc, metadata_logging_context);
 
     EXPECT_EQ(suggestions.size(), 2U);
     EXPECT_TRUE(should_display_gpay_logo);
@@ -2063,13 +2085,14 @@
 
     bool should_display_gpay_logo;
     bool with_offer;
+    bool with_cvc;
     autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
     std::vector<Suggestion> suggestions =
         suggestion_generator()->GetSuggestionsForCreditCards(
             FormFieldData(), CREDIT_CARD_NUMBER,
             /*should_show_scan_credit_card=*/false,
             /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-            with_offer, metadata_logging_context);
+            with_offer, with_cvc, metadata_logging_context);
 
     EXPECT_EQ(suggestions.size(), 2U);
     EXPECT_FALSE(should_display_gpay_logo);
@@ -2093,13 +2116,14 @@
 
     bool should_display_gpay_logo;
     bool with_offer;
+    bool with_cvc;
     autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
     std::vector<Suggestion> suggestions =
         suggestion_generator()->GetSuggestionsForCreditCards(
             FormFieldData(), CREDIT_CARD_NUMBER,
             /*should_show_scan_credit_card=*/false,
             /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-            with_offer, metadata_logging_context);
+            with_offer, with_cvc, metadata_logging_context);
 
     EXPECT_EQ(suggestions.size(), 1U);
     EXPECT_TRUE(should_display_gpay_logo);
@@ -2111,13 +2135,14 @@
   {
     bool should_display_gpay_logo;
     bool with_offer;
+    bool with_cvc;
     autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
     std::vector<Suggestion> suggestions =
         suggestion_generator()->GetSuggestionsForCreditCards(
             FormFieldData(), CREDIT_CARD_NUMBER,
             /*should_show_scan_credit_card=*/false,
             /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-            with_offer, metadata_logging_context);
+            with_offer, with_cvc, metadata_logging_context);
 
     EXPECT_TRUE(suggestions.empty());
     EXPECT_TRUE(should_display_gpay_logo);
@@ -2127,13 +2152,14 @@
 TEST_F(AutofillSuggestionGeneratorTest, NoSuggestionsWhenNoUserData) {
   bool should_display_gpay_logo;
   bool with_offer;
+  bool with_cvc;
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
   std::vector<Suggestion> suggestions =
       suggestion_generator()->GetSuggestionsForCreditCards(
           FormFieldData(), CREDIT_CARD_NUMBER,
           /*should_show_scan_credit_card=*/true,
           /*should_show_cards_from_account=*/true, should_display_gpay_logo,
-          with_offer, metadata_logging_context);
+          with_offer, with_cvc, metadata_logging_context);
 
   EXPECT_TRUE(suggestions.empty());
 }
@@ -2142,13 +2168,14 @@
   personal_data().AddCreditCard(test::GetCreditCard());
   bool should_display_gpay_logo;
   bool with_offer;
+  bool with_cvc;
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
   std::vector<Suggestion> suggestions =
       suggestion_generator()->GetSuggestionsForCreditCards(
           FormFieldData(), CREDIT_CARD_NUMBER,
           /*should_show_scan_credit_card=*/true,
           /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-          with_offer, metadata_logging_context);
+          with_offer, with_cvc, metadata_logging_context);
 
   EXPECT_THAT(suggestions,
               ElementsAre(EqualsSuggestion(PopupItemId::kCreditCardEntry),
@@ -2162,13 +2189,14 @@
   personal_data().AddCreditCard(test::GetCreditCard());
   bool should_display_gpay_logo;
   bool with_offer;
+  bool with_cvc;
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
   std::vector<Suggestion> suggestions =
       suggestion_generator()->GetSuggestionsForCreditCards(
           FormFieldData(), CREDIT_CARD_NUMBER,
           /*should_show_scan_credit_card=*/false,
           /*should_show_cards_from_account=*/true, should_display_gpay_logo,
-          with_offer, metadata_logging_context);
+          with_offer, with_cvc, metadata_logging_context);
 
   EXPECT_EQ(suggestions.size(), 2ul);
   EXPECT_THAT(suggestions[0], EqualsSuggestion(PopupItemId::kCreditCardEntry));
@@ -3034,12 +3062,13 @@
   field_data.value = u"$$$";
   bool should_display_gpay_logo;
   bool with_offer;
+  bool with_cvc;
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
   std::vector<Suggestion> suggestions =
       suggestion_generator()->GetSuggestionsForCreditCards(
           field_data, UNKNOWN_TYPE, /*should_show_scan_credit_card=*/false,
           /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-          with_offer, metadata_logging_context);
+          with_offer, with_cvc, metadata_logging_context);
 
   // Credit card suggestions should not depend on the field's value.
   EXPECT_EQ(suggestions.size(), 1U);
@@ -3060,13 +3089,14 @@
 
   bool should_display_gpay_logo;
   bool with_offer;
+  bool with_cvc;
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
   const std::vector<Suggestion> suggestions =
       suggestion_generator()->GetSuggestionsForCreditCards(
           FormFieldData(), CREDIT_CARD_VERIFICATION_CODE,
           /*should_show_scan_credit_card=*/false,
           /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-          with_offer, metadata_logging_context);
+          with_offer, with_cvc, metadata_logging_context);
 
   // Both local card and server card suggestion should be shown when CVC field
   // is focused.
@@ -3094,13 +3124,14 @@
 
   bool should_display_gpay_logo;
   bool with_offer;
+  bool with_cvc;
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
   const std::vector<Suggestion> suggestions =
       suggestion_generator()->GetSuggestionsForCreditCards(
           FormFieldData(), CREDIT_CARD_VERIFICATION_CODE,
           /*should_show_scan_credit_card=*/false,
           /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-          with_offer, metadata_logging_context);
+          with_offer, with_cvc, metadata_logging_context);
 
   // Only 1 suggestion should be shown when CVC field is focused.
   ASSERT_EQ(suggestions.size(), 1U);
@@ -3118,13 +3149,14 @@
 
   bool should_display_gpay_logo;
   bool with_offer;
+  bool with_cvc;
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
   const std::vector<Suggestion> suggestions =
       suggestion_generator()->GetSuggestionsForCreditCards(
           FormFieldData(), CREDIT_CARD_VERIFICATION_CODE,
           /*should_show_scan_credit_card=*/false,
           /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-          with_offer, metadata_logging_context);
+          with_offer, with_cvc, metadata_logging_context);
 
   // Both FPAN and VCN suggestion should be shown when CVC field is focused.
   ASSERT_EQ(suggestions.size(), 2U);
@@ -3156,13 +3188,14 @@
 
   bool should_display_gpay_logo;
   bool with_offer;
+  bool with_cvc;
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
   const std::vector<Suggestion> suggestions =
       suggestion_generator()->GetSuggestionsForCreditCards(
           FormFieldData(), CREDIT_CARD_VERIFICATION_CODE,
           /*should_show_scan_credit_card=*/false,
           /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-          with_offer, metadata_logging_context);
+          with_offer, with_cvc, metadata_logging_context);
 
   // Both FPAN and VCN suggestion should be shown when CVC field is focused.
   ASSERT_EQ(suggestions.size(), 2U);
@@ -3374,12 +3407,13 @@
 
     bool should_display_gpay_logo;
     bool with_offer;
+    bool with_cvc;
     autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
     suggestion_generator()->GetSuggestionsForCreditCards(
         FormFieldData(), CREDIT_CARD_NUMBER,
         /*should_show_scan_credit_card=*/false,
         /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-        with_offer, metadata_logging_context);
+        with_offer, with_cvc, metadata_logging_context);
 
     EXPECT_FALSE(metadata_logging_context.card_metadata_available);
     EXPECT_FALSE(metadata_logging_context.card_product_description_shown);
@@ -3406,12 +3440,13 @@
 
     bool should_display_gpay_logo;
     bool with_offer;
+    bool with_cvc;
     autofill_metrics::CardMetadataLoggingContext metadata_logging_context;
     suggestion_generator()->GetSuggestionsForCreditCards(
         FormFieldData(), CREDIT_CARD_NUMBER,
         /*should_show_scan_credit_card=*/false,
         /*should_show_cards_from_account=*/false, should_display_gpay_logo,
-        with_offer, metadata_logging_context);
+        with_offer, with_cvc, metadata_logging_context);
 
     EXPECT_TRUE(metadata_logging_context.card_metadata_available);
     EXPECT_EQ(metadata_logging_context.card_product_description_shown,
diff --git a/components/autofill/core/browser/browser_autofill_manager.cc b/components/autofill/core/browser/browser_autofill_manager.cc
index 28e62199..6a2e0c90 100644
--- a/components/autofill/core/browser/browser_autofill_manager.cc
+++ b/components/autofill/core/browser/browser_autofill_manager.cc
@@ -2868,6 +2868,7 @@
 
   std::vector<Suggestion> suggestions;
   bool with_offer = false;
+  bool with_cvc = false;
   bool is_virtual_card_standalone_cvc_field = false;
   autofill_metrics::CardMetadataLoggingContext context;
   if (!IsInAutofillSuggestionsDisabledExperiment()) {
@@ -2889,12 +2890,13 @@
           trigger_field, trigger_field_type,
           ShouldShowScanCreditCard(form, trigger_field),
           ShouldShowCardsFromAccountOption(form, trigger_field, trigger_source),
-          should_display_gpay_logo, with_offer, context);
+          should_display_gpay_logo, with_offer, with_cvc, context);
     }
   }
 
   credit_card_form_event_logger_->OnDidFetchSuggestion(
-      suggestions, with_offer, is_virtual_card_standalone_cvc_field, context);
+      suggestions, with_offer, with_cvc, is_virtual_card_standalone_cvc_field,
+      context);
   return suggestions;
 }
 
diff --git a/components/autofill/core/browser/metrics/form_events/credit_card_form_event_logger.cc b/components/autofill/core/browser/metrics/form_events/credit_card_form_event_logger.cc
index 441169b..e8622f0 100644
--- a/components/autofill/core/browser/metrics/form_events/credit_card_form_event_logger.cc
+++ b/components/autofill/core/browser/metrics/form_events/credit_card_form_event_logger.cc
@@ -46,10 +46,12 @@
 void CreditCardFormEventLogger::OnDidFetchSuggestion(
     const std::vector<Suggestion>& suggestions,
     bool with_offer,
+    bool with_cvc,
     bool is_virtual_card_standalone_cvc_field,
     const autofill_metrics::CardMetadataLoggingContext&
         metadata_logging_context) {
   has_eligible_offer_ = with_offer;
+  suggestion_contains_card_with_cvc_ = with_cvc;
   is_virtual_card_standalone_cvc_field_ = is_virtual_card_standalone_cvc_field;
   metadata_logging_context_ = metadata_logging_context;
   suggestions_.clear();
@@ -86,6 +88,15 @@
     has_logged_suggestion_for_virtual_card_standalone_cvc_shown_ = true;
   }
 
+  // Log if any of the card suggestions had cvc saved.
+  if (suggestion_contains_card_with_cvc_) {
+    Log(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SHOWN, form);
+    if (!has_logged_suggestion_for_card_with_cvc_shown_) {
+      Log(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SHOWN_ONCE, form);
+    }
+    has_logged_suggestion_for_card_with_cvc_shown_ = true;
+  }
+
   // Log if any of the suggestions had metadata.
   Log(metadata_logging_context_.card_metadata_available
           ? FORM_EVENT_CARD_SUGGESTION_WITH_METADATA_SHOWN
@@ -164,6 +175,15 @@
     has_logged_suggestion_for_virtual_card_standalone_cvc_selected_ = true;
   }
 
+  // Log if the selected card suggestion had cvc saved.
+  if (!credit_card.cvc().empty()) {
+    Log(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SELECTED, form);
+    if (!has_logged_suggestion_for_card_with_cvc_selected_) {
+      Log(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SELECTED_ONCE, form);
+    }
+    has_logged_suggestion_for_card_with_cvc_selected_ = true;
+  }
+
   // Log if the selected suggestion had metadata.
   metadata_logging_context_ =
       autofill_metrics::GetMetadataLoggingContext({credit_card});
@@ -261,6 +281,15 @@
     has_logged_suggestion_for_virtual_card_standalone_cvc_filled_ = true;
   }
 
+  // Log if the filled card suggestion had cvc saved.
+  if (!credit_card.cvc().empty()) {
+    Log(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_FILLED, form);
+    if (!has_logged_suggestion_for_card_with_cvc_filled_) {
+      Log(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_FILLED_ONCE, form);
+    }
+    has_logged_suggestion_for_card_with_cvc_filled_ = true;
+  }
+
   metadata_logging_context_ =
       autofill_metrics::GetMetadataLoggingContext({credit_card});
   // Log if the filled suggestion had metadata.
@@ -408,6 +437,12 @@
             kStandaloneCvcSuggestionWillSubmitOnce);
   }
 
+  // Log if any card suggestion with cvc saved was filled before form
+  // submission.
+  if (has_logged_suggestion_for_card_with_cvc_filled_) {
+    Log(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_WILL_SUBMIT_ONCE, form);
+  }
+
   if (has_logged_suggestion_filled_) {
     // Log issuer-specific metrics on whether a card suggestion with metadata
     // was filled before submission.
@@ -464,6 +499,12 @@
             kStandaloneCvcSuggestionSubmittedOnce);
   }
 
+  // Log if any card suggestion with cvc saved was filled before form
+  // submission.
+  if (has_logged_suggestion_for_card_with_cvc_filled_) {
+    Log(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SUBMITTED_ONCE, form);
+  }
+
   if (has_logged_suggestion_filled_) {
     // Log issuer-specific metrics on whether a card suggestion with metadata
     // was filled before submission.
diff --git a/components/autofill/core/browser/metrics/form_events/credit_card_form_event_logger.h b/components/autofill/core/browser/metrics/form_events/credit_card_form_event_logger.h
index bf18ffb08..e6b42514 100644
--- a/components/autofill/core/browser/metrics/form_events/credit_card_form_event_logger.h
+++ b/components/autofill/core/browser/metrics/form_events/credit_card_form_event_logger.h
@@ -54,14 +54,18 @@
     local_record_type_count_ = local_record_type_count;
   }
 
-  // Invoked when `suggestions` are successfully fetched. `with_offer` indicates
-  // whether an offer is attached to any of the suggestion in the list.
+  // Invoked when `suggestions` are successfully fetched.
+  // `with_offer` indicates whether an offer is attached to any of the
+  // suggestion in the list.
+  // `with_cvc` indicates whether CVC is saved in any of the suggestion in
+  // the list.
   // `is_virtual_card_standalone_cvc_field` indicates whether the `suggestions`
   // are fetched for a virtual card standalone CVC field.
   // `metadata_logging_context` contains information about whether any card has
   // a non-empty product description or art image, and whether they are shown.
   void OnDidFetchSuggestion(const std::vector<Suggestion>& suggestions,
                             bool with_offer,
+                            bool with_cvc,
                             bool is_virtual_card_standalone_cvc_field,
                             const autofill_metrics::CardMetadataLoggingContext&
                                 metadata_logging_context);
@@ -161,6 +165,9 @@
   bool has_logged_suggestion_for_virtual_card_standalone_cvc_shown_ = false;
   bool has_logged_suggestion_for_virtual_card_standalone_cvc_selected_ = false;
   bool has_logged_suggestion_for_virtual_card_standalone_cvc_filled_ = false;
+  bool has_logged_suggestion_for_card_with_cvc_shown_ = false;
+  bool has_logged_suggestion_for_card_with_cvc_selected_ = false;
+  bool has_logged_suggestion_for_card_with_cvc_filled_ = false;
   bool logged_suggestion_filled_was_masked_server_card_ = false;
   bool logged_suggestion_filled_was_virtual_card_ = false;
   // If true, the most recent card to be selected as an Autofill suggestion was
@@ -175,6 +182,8 @@
   // If true, the form contains a standalone CVC field that is associated with a
   // virtual card.
   bool is_virtual_card_standalone_cvc_field_ = false;
+  // If true, one of the cards in the suggestions fetched has cvc info saved.
+  bool suggestion_contains_card_with_cvc_ = false;
 
   autofill_metrics::CardMetadataLoggingContext metadata_logging_context_;
 
diff --git a/components/autofill/core/browser/metrics/form_events/form_events.h b/components/autofill/core/browser/metrics/form_events/form_events.h
index 76d30e3b..6f123ca5 100644
--- a/components/autofill/core/browser/metrics/form_events/form_events.h
+++ b/components/autofill/core/browser/metrics/form_events/form_events.h
@@ -202,6 +202,28 @@
   // and the suggested card had no metadata. Logged once per page load.
   FORM_EVENT_CARD_SUGGESTION_WITHOUT_METADATA_WILL_SUBMIT_ONCE = 78,
 
+  // Metric logged when a credit card suggestion with cvc info was shown.
+  FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SHOWN = 79,
+  // Metric logged when a credit card suggestion with cvc info was shown. Logged
+  // once per page load.
+  FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SHOWN_ONCE = 80,
+  // Metric logged when a credit card suggestion with cvc info was selected.
+  FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SELECTED = 81,
+  // Metric logged when a credit card suggestion with cvc info was selected.
+  // Logged once per page load.
+  FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SELECTED_ONCE = 82,
+  // Metric logged when a credit card suggestion with cvc info was filled.
+  FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_FILLED = 83,
+  // Metric logged when a credit card suggestion with cvc info was filled.
+  // Logged once per page load.
+  FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_FILLED_ONCE = 84,
+  // Metric logged when form is about to be submitted after a credit card
+  // suggestion with cvc info was filled. Logged once per page load.
+  FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_WILL_SUBMIT_ONCE = 85,
+  // Metric logged when form was submitted after a credit card suggestion with
+  // cvc info was filled. Logged once per page load.
+  FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SUBMITTED_ONCE = 86,
+
   NUM_FORM_EVENTS,
 };
 
diff --git a/components/autofill/core/browser/metrics/payments/cvc_storage_metrics_unittest.cc b/components/autofill/core/browser/metrics/payments/cvc_storage_metrics_unittest.cc
index ca8dd0e..5149ace4 100644
--- a/components/autofill/core/browser/metrics/payments/cvc_storage_metrics_unittest.cc
+++ b/components/autofill/core/browser/metrics/payments/cvc_storage_metrics_unittest.cc
@@ -15,9 +15,32 @@
   CvcStorageMetricsTest() = default;
   ~CvcStorageMetricsTest() override = default;
 
-  void SetUp() override { SetUpHelper(); }
+  const FormData& form() const { return form_; }
+  const CreditCard& card() const { return card_; }
+
+  void SetUp() override {
+    SetUpHelper();
+    // Set up the form data. Reset form action to skip the IsFormMixedContent
+    // check.
+    form_ =
+        GetAndAddSeenForm({.description_for_logging = "CvcStorage",
+                           .fields = {{.role = CREDIT_CARD_NAME_FULL},
+                                      {.role = CREDIT_CARD_NUMBER},
+                                      {.role = CREDIT_CARD_EXP_MONTH},
+                                      {.role = CREDIT_CARD_EXP_2_DIGIT_YEAR},
+                                      {.role = CREDIT_CARD_VERIFICATION_CODE}},
+                           .action = ""});
+
+    // Add a masked server card.
+    card_ = test::WithCvc(test::GetMaskedServerCard());
+    personal_data().AddServerCreditCard(card_);
+  }
 
   void TearDown() override { TearDownHelper(); }
+
+ private:
+  CreditCard card_;
+  FormData form_;
 };
 
 TEST_F(CvcStorageMetricsTest, LogCvcStorageIsEnabledAtStartup) {
@@ -62,4 +85,145 @@
       "Autofill.PaymentMethods.CvcStorageIsEnabled.Startup", false, 1);
 }
 
+// Test CVC suggestion shown metrics are correctly logged.
+TEST_F(CvcStorageMetricsTest, LogShownMetrics) {
+  base::HistogramTester histogram_tester;
+  base::test::ScopedFeatureList features(
+      features::kAutofillEnableCvcStorageAndFilling);
+  personal_data().SetIsPaymentCvcStorageEnabled(true);
+
+  // Simulate activating the autofill popup for the credit card field.
+  autofill_manager().OnAskForValuesToFillTest(form(), form().fields.front());
+  DidShowAutofillSuggestions(form(), /*field_index=*/0,
+                             PopupItemId::kCreditCardEntry);
+  EXPECT_THAT(
+      histogram_tester.GetAllSamples("Autofill.FormEvents.CreditCard"),
+      BucketsInclude(
+          base::Bucket(FORM_EVENT_SUGGESTIONS_SHOWN, 1),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SHOWN, 1),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SHOWN_ONCE, 1)));
+
+  // Show the popup again.
+  autofill_manager().OnAskForValuesToFillTest(form(), form().fields.front());
+  DidShowAutofillSuggestions(form(), /*field_index=*/0,
+                             PopupItemId::kCreditCardEntry);
+  EXPECT_THAT(
+      histogram_tester.GetAllSamples("Autofill.FormEvents.CreditCard"),
+      BucketsInclude(
+          base::Bucket(FORM_EVENT_SUGGESTIONS_SHOWN, 2),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SHOWN, 2),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SHOWN_ONCE, 1)));
+}
+
+// Test CVC suggestion selected metrics are correctly logged.
+TEST_F(CvcStorageMetricsTest, LogSelectedMetrics) {
+  base::HistogramTester histogram_tester;
+  base::test::ScopedFeatureList features(
+      features::kAutofillEnableCvcStorageAndFilling);
+
+  personal_data().SetIsPaymentCvcStorageEnabled(true);
+
+  // Simulate selecting the suggestion with CVC.
+  autofill_manager().OnAskForValuesToFillTest(form(), form().fields.back());
+  DidShowAutofillSuggestions(form(), /*field_index=*/form().fields.size() - 1,
+                             PopupItemId::kCreditCardEntry);
+  autofill_manager().FillOrPreviewCreditCardForm(
+      mojom::ActionPersistence::kFill, form(), form().fields.back(),
+      *personal_data().GetCreditCardByInstrumentId(card().instrument_id()),
+      {.trigger_source = AutofillTriggerSource::kPopup});
+
+  EXPECT_THAT(
+      histogram_tester.GetAllSamples("Autofill.FormEvents.CreditCard"),
+      BucketsInclude(
+          base::Bucket(FORM_EVENT_MASKED_SERVER_CARD_SUGGESTION_SELECTED, 1),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SELECTED, 1),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SELECTED_ONCE,
+                       1)));
+
+  // Simulate selecting the suggestion again.
+  autofill_manager().FillOrPreviewCreditCardForm(
+      mojom::ActionPersistence::kFill, form(), form().fields.front(),
+      *personal_data().GetCreditCardByInstrumentId(card().instrument_id()),
+      {.trigger_source = AutofillTriggerSource::kPopup});
+
+  EXPECT_THAT(
+      histogram_tester.GetAllSamples("Autofill.FormEvents.CreditCard"),
+      BucketsInclude(
+          base::Bucket(FORM_EVENT_MASKED_SERVER_CARD_SUGGESTION_SELECTED, 2),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SELECTED, 2),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SELECTED_ONCE,
+                       1)));
+}
+
+// Test CVC suggestion filled metrics are correctly logged.
+TEST_F(CvcStorageMetricsTest, LogFilledMetrics) {
+  base::HistogramTester histogram_tester;
+  base::test::ScopedFeatureList features(
+      features::kAutofillEnableCvcStorageAndFilling);
+
+  personal_data().SetIsPaymentCvcStorageEnabled(true);
+
+  // Simulate filling the suggestion with CVC.
+  autofill_manager().FillOrPreviewCreditCardForm(
+      mojom::ActionPersistence::kFill, form(), form().fields.front(),
+      *personal_data().GetCreditCardByInstrumentId(card().instrument_id()),
+      {.trigger_source = AutofillTriggerSource::kPopup});
+  test_api(autofill_manager())
+      .OnCreditCardFetched(CreditCardFetchResult::kSuccess, &card());
+
+  EXPECT_THAT(
+      histogram_tester.GetAllSamples("Autofill.FormEvents.CreditCard"),
+      BucketsInclude(
+          base::Bucket(FORM_EVENT_MASKED_SERVER_CARD_SUGGESTION_FILLED, 1),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_FILLED, 1),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_FILLED_ONCE,
+                       1)));
+
+  // Fill the suggestion again.
+  autofill_manager().FillOrPreviewCreditCardForm(
+      mojom::ActionPersistence::kFill, form(), form().fields.front(),
+      *personal_data().GetCreditCardByInstrumentId(card().instrument_id()),
+      {.trigger_source = AutofillTriggerSource::kPopup});
+  test_api(autofill_manager())
+      .OnCreditCardFetched(CreditCardFetchResult::kSuccess, &card());
+  EXPECT_THAT(
+      histogram_tester.GetAllSamples("Autofill.FormEvents.CreditCard"),
+      BucketsInclude(
+          base::Bucket(FORM_EVENT_MASKED_SERVER_CARD_SUGGESTION_FILLED, 2),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_FILLED, 2),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_FILLED_ONCE,
+                       1)));
+}
+
+// Test will submit and submitted metrics are correctly logged.
+TEST_F(CvcStorageMetricsTest, LogSubmitMetrics) {
+  base::HistogramTester histogram_tester;
+  base::test::ScopedFeatureList features(
+      features::kAutofillEnableCvcStorageAndFilling);
+
+  personal_data().SetIsPaymentCvcStorageEnabled(true);
+
+  // Simulate filling and then submitting the card with CVC.
+  autofill_manager().OnAskForValuesToFillTest(form(), form().fields.front());
+  autofill_manager().FillOrPreviewCreditCardForm(
+      mojom::ActionPersistence::kFill, form(), form().fields.front(),
+      *personal_data().GetCreditCardByInstrumentId(card().instrument_id()),
+      {.trigger_source = AutofillTriggerSource::kPopup});
+  test_api(autofill_manager())
+      .OnCreditCardFetched(CreditCardFetchResult::kSuccess, &card());
+  SubmitForm(form());
+
+  EXPECT_THAT(
+      histogram_tester.GetAllSamples("Autofill.FormEvents.CreditCard"),
+      BucketsInclude(
+          base::Bucket(
+              FORM_EVENT_MASKED_SERVER_CARD_SUGGESTION_WILL_SUBMIT_ONCE, 1),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_WILL_SUBMIT_ONCE,
+                       1),
+          base::Bucket(FORM_EVENT_MASKED_SERVER_CARD_SUGGESTION_SUBMITTED_ONCE,
+                       1),
+          base::Bucket(FORM_EVENT_SUGGESTION_FOR_CARD_WITH_CVC_SUBMITTED_ONCE,
+                       1)));
+}
+
 }  // namespace autofill::autofill_metrics
diff --git a/components/content_settings/core/common/cookie_settings_base.cc b/components/content_settings/core/common/cookie_settings_base.cc
index a55d0bc..da726de4 100644
--- a/components/content_settings/core/common/cookie_settings_base.cc
+++ b/components/content_settings/core/common/cookie_settings_base.cc
@@ -371,13 +371,6 @@
   if (IsThirdPartyCookiesAllowedScheme(first_party_url.scheme())) {
     return AllowAllCookies{ThirdPartyCookieAllowMechanism::kNone};
   }
-  if (ShouldConsider3pcdMetadataGrantsSettings(overrides) &&
-      IsAllowed(GetContentSetting(url, first_party_url,
-                                  ContentSettingsType::TPCD_METADATA_GRANTS,
-                                  /*info=*/nullptr))) {
-    return AllowAllCookies{
-        ThirdPartyCookieAllowMechanism::kAllowBy3PCDMetadata};
-  }
   if (ShouldConsider3pcdTrialSettings(overrides) &&
       GetContentSetting(url, first_party_url, ContentSettingsType::TPCD_TRIAL,
                         /*info=*/nullptr) == CONTENT_SETTING_ALLOW) {
@@ -421,6 +414,16 @@
     }
   }
 
+  // Sets the 3PCD Metadata Grants last, to prioritize grants from other
+  // mitigations and access protocols.
+  if (ShouldConsider3pcdMetadataGrantsSettings(overrides) &&
+      IsAllowed(GetContentSetting(url, first_party_url,
+                                  ContentSettingsType::TPCD_METADATA_GRANTS,
+                                  /*info=*/nullptr))) {
+    return AllowAllCookies{
+        ThirdPartyCookieAllowMechanism::kAllowBy3PCDMetadata};
+  }
+
   return AllowPartitionedCookies{};
 }
 
diff --git a/components/feature_engagement/internal/event_model.h b/components/feature_engagement/internal/event_model.h
index f812d44..47c8c8b 100644
--- a/components/feature_engagement/internal/event_model.h
+++ b/components/feature_engagement/internal/event_model.h
@@ -56,6 +56,9 @@
   virtual void IncrementEvent(const std::string& event_name,
                               uint32_t current_day) = 0;
 
+  // Removes data associated with `event_name`.
+  virtual void ClearEvent(const std::string& event_name) = 0;
+
   // Increments the snooze count for the day.
   // Updates the last_snooze_time_us.
   virtual void IncrementSnooze(const std::string& event_name,
diff --git a/components/feature_engagement/internal/event_model_impl.cc b/components/feature_engagement/internal/event_model_impl.cc
index 23e90b1..4baba82 100644
--- a/components/feature_engagement/internal/event_model_impl.cc
+++ b/components/feature_engagement/internal/event_model_impl.cc
@@ -90,6 +90,14 @@
   store_->WriteEvent(event);
 }
 
+void EventModelImpl::ClearEvent(const std::string& event_name) {
+  DCHECK(ready_);
+
+  Event& event = GetNonConstEvent(event_name);
+  event.clear_events();
+  store_->WriteEvent(event);
+}
+
 void EventModelImpl::IncrementSnooze(const std::string& event_name,
                                      uint32_t current_day,
                                      base::Time current_time) {
diff --git a/components/feature_engagement/internal/event_model_impl.h b/components/feature_engagement/internal/event_model_impl.h
index 8d2314895..365915fb 100644
--- a/components/feature_engagement/internal/event_model_impl.h
+++ b/components/feature_engagement/internal/event_model_impl.h
@@ -39,6 +39,7 @@
                          uint32_t window_size) const override;
   void IncrementEvent(const std::string& event_name,
                       uint32_t current_day) override;
+  void ClearEvent(const std::string& event_name) override;
   void IncrementSnooze(const std::string& event_name,
                        uint32_t current_day,
                        base::Time current_time) override;
diff --git a/components/feature_engagement/internal/event_model_impl_unittest.cc b/components/feature_engagement/internal/event_model_impl_unittest.cc
index 142279d1..895507f6 100644
--- a/components/feature_engagement/internal/event_model_impl_unittest.cc
+++ b/components/feature_engagement/internal/event_model_impl_unittest.cc
@@ -560,4 +560,26 @@
   EXPECT_FALSE(initialize_callback_result_);
 }
 
+TEST_F(EventModelImplTest, ClearEvents) {
+  model_->Initialize(
+      base::BindOnce(&EventModelImplTest::OnModelInitializationFinished,
+                     base::Unretained(this)),
+      1000u);
+  task_runner_->RunUntilIdle();
+  EXPECT_TRUE(model_->IsReady());
+
+  EXPECT_NE(nullptr, model_->GetEvent("foo"));
+  EXPECT_NE(0U, model_->GetEventCount("foo", 5U, 5U));
+  EXPECT_NE(nullptr, model_->GetEvent("bar"));
+  EXPECT_NE(0U, model_->GetEventCount("bar", 5U, 5U));
+
+  model_->ClearEvent("foo");
+
+  // ClearEvent() does not remove the event, but clears all the instances.
+  EXPECT_NE(nullptr, model_->GetEvent("foo"));
+  EXPECT_EQ(0U, model_->GetEventCount("foo", 5U, 5U));
+  EXPECT_NE(nullptr, model_->GetEvent("bar"));
+  EXPECT_NE(0U, model_->GetEventCount("bar", 5U, 5U));
+}
+
 }  // namespace feature_engagement
diff --git a/components/feature_engagement/internal/feature_config_condition_validator_unittest.cc b/components/feature_engagement/internal/feature_config_condition_validator_unittest.cc
index cfe2a89d..2d9ebc2 100644
--- a/components/feature_engagement/internal/feature_config_condition_validator_unittest.cc
+++ b/components/feature_engagement/internal/feature_config_condition_validator_unittest.cc
@@ -178,6 +178,8 @@
 
   void IncrementEvent(const std::string& event_name, uint32_t day) override {}
 
+  void ClearEvent(const std::string& event_name) override {}
+
   void IncrementSnooze(const std::string& event_name,
                        uint32_t day,
                        base::Time time) override {
diff --git a/components/feature_engagement/internal/init_aware_event_model.cc b/components/feature_engagement/internal/init_aware_event_model.cc
index 3fcc19f..fccb549 100644
--- a/components/feature_engagement/internal/init_aware_event_model.cc
+++ b/components/feature_engagement/internal/init_aware_event_model.cc
@@ -52,6 +52,25 @@
   queued_events_.push_back(std::tie(event_name, current_day));
 }
 
+void InitAwareEventModel::ClearEvent(const std::string& event_name) {
+  // If the embedded model is ready, clear it out.
+  //
+  // TODO(dfried): consider storing the events to be deleted and removing them
+  // when the embedded model is loaded.
+  if (IsReady()) {
+    event_model_->ClearEvent(event_name);
+    return;
+  }
+
+  // Also clear any queued events of the same type that haven't yet been added
+  // to the embedded model.
+  const auto temp = std::move(queued_events_);
+  std::copy_if(temp.begin(), temp.end(), std::back_inserter(queued_events_),
+               [event_name](const auto& val) {
+                 return std::get<std::string>(val) != event_name;
+               });
+}
+
 void InitAwareEventModel::IncrementSnooze(const std::string& event_name,
                                           uint32_t current_day,
                                           base::Time current_time) {
diff --git a/components/feature_engagement/internal/init_aware_event_model.h b/components/feature_engagement/internal/init_aware_event_model.h
index 72528d3..6390b63 100644
--- a/components/feature_engagement/internal/init_aware_event_model.h
+++ b/components/feature_engagement/internal/init_aware_event_model.h
@@ -36,6 +36,7 @@
                          uint32_t window_size) const override;
   void IncrementEvent(const std::string& event_name,
                       uint32_t current_day) override;
+  void ClearEvent(const std::string& event_name) override;
   void IncrementSnooze(const std::string& event_name,
                        uint32_t current_day,
                        base::Time current_time) override;
diff --git a/components/feature_engagement/internal/init_aware_event_model_unittest.cc b/components/feature_engagement/internal/init_aware_event_model_unittest.cc
index 91670227..57f65fa 100644
--- a/components/feature_engagement/internal/init_aware_event_model_unittest.cc
+++ b/components/feature_engagement/internal/init_aware_event_model_unittest.cc
@@ -40,6 +40,7 @@
   MOCK_CONST_METHOD3(GetEventCount,
                      uint32_t(const std::string&, uint32_t, uint32_t));
   MOCK_METHOD2(IncrementEvent, void(const std::string&, uint32_t));
+  MOCK_METHOD1(ClearEvent, void(const std::string&));
   MOCK_METHOD3(IncrementSnooze, void(const std::string&, uint32_t, base::Time));
   MOCK_METHOD1(DismissSnooze, void(const std::string&));
   MOCK_CONST_METHOD1(GetLastSnoozeTimestamp, base::Time(const std::string&));
@@ -205,4 +206,42 @@
   EXPECT_EQ(0U, model_->GetQueuedEventCountForTesting());
 }
 
+TEST_F(InitAwareEventModelTest, ClearEvent) {
+  {
+    EXPECT_CALL(*mocked_model_, IsReady()).WillRepeatedly(Return(false));
+
+    model_->IncrementEvent("foo", 0U);
+    model_->IncrementEvent("bar", 1U);
+
+    // Before initialization, ClearEvent() only clears queued events.
+    EXPECT_CALL(*mocked_model_, ClearEvent).Times(0);
+    model_->ClearEvent("foo");
+    EXPECT_EQ(1U, model_->GetQueuedEventCountForTesting());
+  }
+
+  EventModel::OnModelInitializationFinished callback;
+  EXPECT_CALL(*mocked_model_, Initialize(_, 2U))
+      .WillOnce(
+          [&callback](EventModel::OnModelInitializationFinished load_callback,
+                      uint32_t current_day) {
+            callback = std::move(load_callback);
+          });
+  model_->Initialize(std::move(load_callback_), 2U);
+
+  // Since "foo" was cleared, only "bar" is incremented.
+  {
+    Sequence sequence;
+    EXPECT_CALL(*mocked_model_, IncrementEvent("bar", 1U))
+        .Times(1)
+        .InSequence(sequence);
+
+    std::move(callback).Run(true);
+    EXPECT_TRUE(load_success_.value());
+  }
+  EXPECT_CALL(*mocked_model_, IsReady()).WillRepeatedly(Return(true));
+
+  EXPECT_CALL(*mocked_model_, ClearEvent("bar")).Times(1);
+  model_->ClearEvent("bar");
+}
+
 }  // namespace feature_engagement
diff --git a/components/feature_engagement/internal/never_condition_validator_unittest.cc b/components/feature_engagement/internal/never_condition_validator_unittest.cc
index 453fd1c..5ef9acf 100644
--- a/components/feature_engagement/internal/never_condition_validator_unittest.cc
+++ b/components/feature_engagement/internal/never_condition_validator_unittest.cc
@@ -51,6 +51,8 @@
 
   void IncrementEvent(const std::string& event_name, uint32_t day) override {}
 
+  void ClearEvent(const std::string& event_name) override {}
+
   void IncrementSnooze(const std::string& event_name,
                        uint32_t day,
                        base::Time time) override {}
diff --git a/components/feature_engagement/internal/once_condition_validator_unittest.cc b/components/feature_engagement/internal/once_condition_validator_unittest.cc
index 891bb91e3..f36c039 100644
--- a/components/feature_engagement/internal/once_condition_validator_unittest.cc
+++ b/components/feature_engagement/internal/once_condition_validator_unittest.cc
@@ -53,6 +53,8 @@
 
   void IncrementEvent(const std::string& event_name, uint32_t day) override {}
 
+  void ClearEvent(const std::string& event_name) override {}
+
   void IncrementSnooze(const std::string& event_name,
                        uint32_t day,
                        base::Time time) override {}
diff --git a/components/feature_engagement/internal/tracker_impl.cc b/components/feature_engagement/internal/tracker_impl.cc
index 249d1f1c..d4492fe 100644
--- a/components/feature_engagement/internal/tracker_impl.cc
+++ b/components/feature_engagement/internal/tracker_impl.cc
@@ -27,6 +27,7 @@
 #include "components/feature_engagement/internal/chrome_variations_configuration.h"
 #include "components/feature_engagement/internal/display_lock_controller_impl.h"
 #include "components/feature_engagement/internal/editable_configuration.h"
+#include "components/feature_engagement/internal/event_model.h"
 #include "components/feature_engagement/internal/event_model_impl.h"
 #include "components/feature_engagement/internal/feature_config_condition_validator.h"
 #include "components/feature_engagement/internal/feature_config_event_storage_validator.h"
@@ -41,6 +42,7 @@
 #include "components/feature_engagement/internal/stats.h"
 #include "components/feature_engagement/internal/system_time_provider.h"
 #include "components/feature_engagement/internal/testing_clock_time_provider.h"
+#include "components/feature_engagement/public/configuration.h"
 #include "components/feature_engagement/public/feature_constants.h"
 #include "components/feature_engagement/public/feature_list.h"
 #include "components/feature_engagement/public/group_constants.h"
@@ -95,6 +97,24 @@
       std::make_unique<SystemTimeProvider>(), nullptr);
 }
 
+#if !BUILDFLAG(IS_ANDROID)
+
+// Reads event data from `config` and - if valid - places it into `result` along
+// with the event count in the appropriate window.
+void MaybeGetEventData(Tracker::EventList& result,
+                       const EventConfig& config,
+                       const EventModel& event_model,
+                       uint32_t current_day) {
+  if (config.name.empty()) {
+    return;
+  }
+  result.emplace_back(std::make_pair(
+      config,
+      event_model.GetEventCount(config.name, current_day, config.window)));
+}
+
+#endif  // !BUILDFLAG(IS_ANDROID)
+
 }  // namespace
 
 // This method is declared in //components/feature_engagement/public/
@@ -199,7 +219,36 @@
     NotifyEvent(feature_config.used.name);
   }
 }
-#endif
+
+void TrackerImpl::ClearEventData(const base::Feature& feature) {
+  const auto& feature_config = configuration_->GetFeatureConfig(feature);
+  if (!feature_config.trigger.name.empty()) {
+    event_model_->ClearEvent(feature_config.trigger.name);
+  }
+  if (!feature_config.used.name.empty()) {
+    event_model_->ClearEvent(feature_config.used.name);
+  }
+  for (const auto& event_config : feature_config.event_configs) {
+    event_model_->ClearEvent(event_config.name);
+  }
+}
+
+Tracker::EventList TrackerImpl::ListEvents(const base::Feature& feature) const {
+  EventList result;
+  if (!IsInitialized()) {
+    return result;
+  }
+  const auto& feature_config = configuration_->GetFeatureConfig(feature);
+  const auto current_day = time_provider_->GetCurrentDay();
+  MaybeGetEventData(result, feature_config.trigger, *event_model_, current_day);
+  MaybeGetEventData(result, feature_config.used, *event_model_, current_day);
+  for (const auto& event_config : feature_config.event_configs) {
+    MaybeGetEventData(result, event_config, *event_model_, current_day);
+  }
+  return result;
+}
+
+#endif  // !BUILDFLAG(IS_ANDROID)
 
 bool TrackerImpl::ShouldTriggerHelpUI(const base::Feature& feature) {
   return ShouldTriggerHelpUIWithSnooze(feature).ShouldShowIph();
diff --git a/components/feature_engagement/internal/tracker_impl.h b/components/feature_engagement/internal/tracker_impl.h
index ecc42e4..9e697255 100644
--- a/components/feature_engagement/internal/tracker_impl.h
+++ b/components/feature_engagement/internal/tracker_impl.h
@@ -50,6 +50,8 @@
   void NotifyEvent(const std::string& event) override;
 #if !BUILDFLAG(IS_ANDROID)
   void NotifyUsedEvent(const base::Feature& feature) override;
+  void ClearEventData(const base::Feature& feature) override;
+  EventList ListEvents(const base::Feature& feature) const override;
 #endif
   bool ShouldTriggerHelpUI(const base::Feature& feature) override;
   TriggerDetails ShouldTriggerHelpUIWithSnooze(
diff --git a/components/feature_engagement/internal/tracker_impl_unittest.cc b/components/feature_engagement/internal/tracker_impl_unittest.cc
index 2ec0e95a..bb0e976 100644
--- a/components/feature_engagement/internal/tracker_impl_unittest.cc
+++ b/components/feature_engagement/internal/tracker_impl_unittest.cc
@@ -34,6 +34,7 @@
 #include "components/feature_engagement/internal/stats.h"
 #include "components/feature_engagement/internal/test/test_time_provider.h"
 #include "components/feature_engagement/internal/time_provider.h"
+#include "components/feature_engagement/public/configuration.h"
 #include "components/feature_engagement/public/feature_constants.h"
 #include "components/feature_engagement/public/feature_list.h"
 #include "components/feature_engagement/test/scoped_iph_feature_list.h"
@@ -55,6 +56,9 @@
 BASE_FEATURE(kTrackerTestFeatureQux,
              "test_qux",
              base::FEATURE_DISABLED_BY_DEFAULT);
+BASE_FEATURE(kTrackerTestFeatureEvent,
+             "test_event",
+             base::FEATURE_DISABLED_BY_DEFAULT);
 BASE_FEATURE(kTrackerTestFeatureSnooze,
              "test_snooze",
              base::FEATURE_DISABLED_BY_DEFAULT);
@@ -66,7 +70,8 @@
                            const base::Feature& feature,
                            bool valid,
                            bool tracking_only,
-                           bool snooze_params) {
+                           bool snooze_params,
+                           const char* additional_event_name = nullptr) {
   FeatureConfig config;
   config.valid = valid;
   config.used.name = feature.name + std::string("_used");
@@ -78,6 +83,15 @@
     config.snooze_params.snooze_interval = 7u;
     config.snooze_params.max_limit = 3u;
   }
+  if (additional_event_name) {
+    EventConfig event_config;
+    event_config.name = additional_event_name;
+    event_config.comparator.type = GREATER_THAN_OR_EQUAL;
+    event_config.comparator.value = 2U;
+    event_config.window = 7U;
+    event_config.storage = 7U;
+    config.event_configs.emplace(std::move(event_config));
+  }
   configuration->SetConfiguration(&feature, config);
 }
 
@@ -273,6 +287,9 @@
     RegisterFeatureConfig(configuration.get(), kTrackerTestFeatureQux,
                           false /* is_valid */, false /* tracking_only */,
                           false /* snooze_params */);
+    RegisterFeatureConfig(configuration.get(), kTrackerTestFeatureEvent,
+                          /*valid=*/true, /*tracking_only=*/false,
+                          /*snooze_params=*/false, "test_event_event");
     RegisterFeatureConfig(configuration.get(), kTrackerTestFeatureSnooze,
                           true /* is_valid */, false /* tracking_only */,
                           true /* snooze_params */);
@@ -1217,6 +1234,33 @@
                    "InProductHelp.NotifyUsedEvent.test_bar"));
   EXPECT_EQ(0, user_action_tester.GetActionCount(
                    "InProductHelp.NotifyEvent.test_bar"));
+
+  Event event = event_store_->GetEvent("test_foo_used");
+  EXPECT_EQ(1, event.events_size());
+}
+
+TEST_F(TrackerImplTest, TestClearEventData) {
+  StoringInitializedCallback callback;
+  tracker_->AddOnInitializedCallback(base::BindOnce(
+      &StoringInitializedCallback::OnInitialized, base::Unretained(&callback)));
+  base::RunLoop().RunUntilIdle();
+  base::UserActionTester user_action_tester;
+
+  tracker_->NotifyUsedEvent(kTrackerTestFeatureFoo);
+  tracker_->NotifyUsedEvent(kTrackerTestFeatureBaz);
+  tracker_->ClearEventData(kTrackerTestFeatureFoo);
+
+  // Test clearing used events.
+  Event event = event_store_->GetEvent("test_foo_used");
+  EXPECT_EQ(0, event.events_size());
+  event = event_store_->GetEvent("test_baz_used");
+  EXPECT_EQ(1, event.events_size());
+
+  // Test clearing other events.
+  tracker_->NotifyEvent("test_event_event");
+  EXPECT_EQ(1, event_store_->GetEvent("test_event_event").events_size());
+  tracker_->ClearEventData(kTrackerTestFeatureEvent);
+  EXPECT_EQ(0, event_store_->GetEvent("test_event_event").events_size());
 }
 
 #endif  // !BUILDFLAG(IS_ANDROID)
diff --git a/components/feature_engagement/public/ios_promo_feature_configuration.cc b/components/feature_engagement/public/ios_promo_feature_configuration.cc
index 46b0527..1577df4d 100644
--- a/components/feature_engagement/public/ios_promo_feature_configuration.cc
+++ b/components/feature_engagement/public/ios_promo_feature_configuration.cc
@@ -17,7 +17,8 @@
 namespace {
 
 // Returns a config for a standard promo. This includes a rule for "only show
-// this feature once every month."
+// this feature once every month." Promos here can be unit tested in
+// `PromosManagerFeatureEngagementTest`.
 absl::optional<FeatureConfig> GetStandardPromoConfig(
     const base::Feature* feature) {
   absl::optional<FeatureConfig> config;
@@ -149,7 +150,6 @@
     config->trigger = EventConfig("docking_promo_trigger", Comparator(EQUAL, 0),
                                   feature_engagement::kMaxStoragePeriod,
                                   feature_engagement::kMaxStoragePeriod);
-    return config;
   }
 
   // All standard promos can only be shown once per month.
diff --git a/components/feature_engagement/public/tracker.h b/components/feature_engagement/public/tracker.h
index 46df8c0..518cd410 100644
--- a/components/feature_engagement/public/tracker.h
+++ b/components/feature_engagement/public/tracker.h
@@ -16,6 +16,7 @@
 #include "base/task/sequenced_task_runner.h"
 #include "base/time/time.h"
 #include "build/build_config.h"
+#include "components/feature_engagement/public/configuration.h"
 #include "components/feature_engagement/public/configuration_provider.h"
 #include "components/keyed_service/core/keyed_service.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
@@ -172,6 +173,17 @@
 #if !BUILDFLAG(IS_ANDROID)
   // Notifies that the "used" event for `feature` has happened.
   virtual void NotifyUsedEvent(const base::Feature& feature) = 0;
+
+  // Erases all event data associated with a particular `feature`, including -
+  // but not limited to - trigger and used event data.
+  //
+  // This method is used by specific internals and test code.
+  virtual void ClearEventData(const base::Feature& feature) = 0;
+
+  // Retrieves information about each event condition and event count associated
+  // with a feature. The count will reflect the time window in EventConfig.
+  using EventList = std::vector<std::pair<EventConfig, int>>;
+  virtual EventList ListEvents(const base::Feature& feature) const = 0;
 #endif
 
   // This function must be called whenever the triggering condition for a
diff --git a/components/feature_engagement/test/mock_tracker.h b/components/feature_engagement/test/mock_tracker.h
index eeee84a..37b0b1c4 100644
--- a/components/feature_engagement/test/mock_tracker.h
+++ b/components/feature_engagement/test/mock_tracker.h
@@ -33,6 +33,8 @@
   MOCK_METHOD1(NotifyEvent, void(const std::string& event));
 #if !BUILDFLAG(IS_ANDROID)
   MOCK_METHOD1(NotifyUsedEvent, void(const base::Feature& feature));
+  MOCK_METHOD1(ClearEventData, void(const base::Feature& feature));
+  MOCK_CONST_METHOD1(ListEvents, EventList(const base::Feature& feature));
 #endif
   MOCK_METHOD1(ShouldTriggerHelpUI, bool(const base::Feature& feature));
   MOCK_METHOD1(ShouldTriggerHelpUIWithSnooze,
diff --git a/components/feedback/feedback_common.cc b/components/feedback/feedback_common.cc
index f519b87..0e57949 100644
--- a/components/feedback/feedback_common.cc
+++ b/components/feedback/feedback_common.cc
@@ -247,6 +247,13 @@
   return kChromeBrowserProductId;
 }
 
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+// static
+int FeedbackCommon::GetChromeOSProductId() {
+  return kChromeOSProductId;
+}
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+
 FeedbackCommon::~FeedbackCommon() = default;
 
 void FeedbackCommon::CompressFile(const base::FilePath& filename,
diff --git a/components/feedback/feedback_common.h b/components/feedback/feedback_common.h
index 617b665..92bfca3 100644
--- a/components/feedback/feedback_common.h
+++ b/components/feedback/feedback_common.h
@@ -64,6 +64,10 @@
 
   static int GetChromeBrowserProductId();
 
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  static int GetChromeOSProductId();
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
+
   // Getters
   const absl::optional<std::string>& mac_address() const {
     return mac_address_;
diff --git a/components/metrics/structured/BUILD.gn b/components/metrics/structured/BUILD.gn
index 47f616f..d831548 100644
--- a/components/metrics/structured/BUILD.gn
+++ b/components/metrics/structured/BUILD.gn
@@ -22,6 +22,8 @@
     "key_data_provider.h",
     "key_data_provider_file.cc",
     "key_data_provider_file.h",
+    "key_data_provider_prefs.cc",
+    "key_data_provider_prefs.h",
     "key_util.cc",
     "key_util.h",
     "persistent_proto.cc",
@@ -46,6 +48,7 @@
     ":common",
     ":events",
     ":proto",
+    "//components/metrics/structured/lib:proto",
     "//third_party/metrics_proto",
   ]
 
@@ -54,7 +57,6 @@
     ":structured_metrics_validator",
     "//base",
     "//components/metrics",
-    "//components/metrics/structured/lib:proto",
     "//components/metrics/structured/mojom",
     "//components/prefs",
     "//crypto",
diff --git a/components/metrics/structured/key_data_provider.h b/components/metrics/structured/key_data_provider.h
index 9c6d243..c61626a1 100644
--- a/components/metrics/structured/key_data_provider.h
+++ b/components/metrics/structured/key_data_provider.h
@@ -18,6 +18,8 @@
 
 namespace metrics::structured {
 
+class ChromeStructuredMetricsRecorder;
+
 // Interface to provide key data to be used for hashing projects.
 //
 // There are two types of keys: device keys and profile keys. Device keys will
@@ -76,6 +78,8 @@
   void NotifyKeyReady();
 
  private:
+  friend class ChromeStructuredMetricsRecorder;
+
   base::ObserverList<Observer> observers_;
 };
 
diff --git a/components/metrics/structured/key_data_provider_prefs.cc b/components/metrics/structured/key_data_provider_prefs.cc
new file mode 100644
index 0000000..ae42bf58
--- /dev/null
+++ b/components/metrics/structured/key_data_provider_prefs.cc
@@ -0,0 +1,51 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/metrics/structured/key_data_provider_prefs.h"
+
+#include <memory>
+#include <optional>
+#include <string_view>
+
+#include "components/metrics/structured/key_data_prefs_delegate.h"
+#include "components/metrics/structured/structured_metrics_validator.h"
+
+namespace metrics::structured {
+
+KeyDataProviderPrefs::KeyDataProviderPrefs(PrefService* local_state,
+                                           std::string_view pref_name)
+    : key_data_(
+          std::make_unique<KeyDataPrefsDelegate>(local_state, pref_name)) {}
+
+KeyDataProviderPrefs::~KeyDataProviderPrefs() = default;
+
+bool KeyDataProviderPrefs::IsReady() {
+  return true;
+}
+
+void KeyDataProviderPrefs::OnProfileAdded(const base::FilePath& profile_path) {}
+
+std::optional<uint64_t> KeyDataProviderPrefs::GetId(
+    const std::string& project_name) {
+  // Validates the project. If valid, retrieve the metadata associated
+  // with the event.
+  auto project_validator =
+      validator::Validators::Get()->GetProjectValidator(project_name);
+
+  if (!project_validator.has_value()) {
+    return std::nullopt;
+  }
+  return key_data_.Id((*project_validator)->project_hash(),
+                      (*project_validator)->key_rotation_period());
+}
+
+KeyData* KeyDataProviderPrefs::GetKeyData(const std::string& project_name) {
+  return &key_data_;
+}
+
+void KeyDataProviderPrefs::Purge() {
+  key_data_.Purge();
+}
+
+}  // namespace metrics::structured
diff --git a/components/metrics/structured/key_data_provider_prefs.h b/components/metrics/structured/key_data_provider_prefs.h
new file mode 100644
index 0000000..be0cf88
--- /dev/null
+++ b/components/metrics/structured/key_data_provider_prefs.h
@@ -0,0 +1,36 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_METRICS_STRUCTURED_KEY_DATA_PROVIDER_PREFS_H_
+#define COMPONENTS_METRICS_STRUCTURED_KEY_DATA_PROVIDER_PREFS_H_
+
+#include <optional>
+#include <string_view>
+
+#include "components/metrics/structured/key_data.h"
+#include "components/metrics/structured/key_data_provider.h"
+#include "components/prefs/pref_service.h"
+
+namespace metrics::structured {
+
+// KeyDataProvider implementation that stores the keys in a preferences.
+class KeyDataProviderPrefs : public KeyDataProvider {
+ public:
+  KeyDataProviderPrefs(PrefService* local_state, std::string_view pref_name);
+
+  ~KeyDataProviderPrefs() override;
+
+  // KeyDataProvider:
+  bool IsReady() override;
+  void OnProfileAdded(const base::FilePath& profile_path) override;
+  std::optional<uint64_t> GetId(const std::string& project_name) override;
+  KeyData* GetKeyData(const std::string& project_name) override;
+  void Purge() override;
+
+ private:
+  KeyData key_data_;
+};
+}  // namespace metrics::structured
+
+#endif  // COMPONENTS_METRICS_STRUCTURED_KEY_DATA_PROVIDER_PREFS_H_
diff --git a/components/omnibox/browser/omnibox_edit_model.cc b/components/omnibox/browser/omnibox_edit_model.cc
index 68a48195..2ea91df 100644
--- a/components/omnibox/browser/omnibox_edit_model.cc
+++ b/components/omnibox/browser/omnibox_edit_model.cc
@@ -1218,48 +1218,11 @@
 }
 
 void OmniboxEditModel::OnUpOrDownPressed(bool down, bool page) {
-  // NOTE: This purposefully doesn't trigger any code that resets
-  // `paste_state_`.
-
-  // The popup could be working on a query but is not open. In that case,
-  // force it to open immediately.
-  if (MaybeStartQueryForPopup() || !PopupIsOpen())
-    return;
-
   const auto direction =
       down ? OmniboxPopupSelection::kForward : OmniboxPopupSelection::kBackward;
   const auto step = page ? OmniboxPopupSelection::kAllLines
                          : OmniboxPopupSelection::kWholeLine;
-
-  // The popup is open, so the user should be able to interact with it normally.
-
-  // If, as a result of the key press, we would select the first result, then
-  // we should revert the temporary text same as what pressing escape would
-  // have done.
-  //
-  // Reverting, however, does not make sense for on-focus suggestions
-  // (user_input_in_progress_ is false) unless the first result is a
-  // verbatim match of the omnibox input (on-focus query refinements on SERP).
-  const OmniboxPopupSelection next_selection =
-      popup_selection_.GetNextSelection(
-          autocomplete_controller()->result(), GetPrefService(),
-          controller_->client()->GetTemplateURLService(), direction, step);
-  if (autocomplete_controller()->result().default_match() &&
-      has_temporary_text_ && next_selection.line == 0 &&
-      (user_input_in_progress_ ||
-       autocomplete_controller()->result().default_match()->IsVerbatimType())) {
-    RevertTemporaryTextAndPopup();
-  } else {
-    // Call `StepPopupSelection()` instead of `SetPopupSelection()`, as the
-    // former handles entering and leaving keyword mode before calling the
-    // latter.
-    StepPopupSelection(direction, step);
-    DCHECK(popup_selection_ == next_selection);
-
-    // Inform the client that a new row is now selected.
-    OnNavigationLikely(popup_selection_.line,
-                       NavigationPredictor::kUpOrDownArrowButton);
-  }
+  StepPopupSelection(direction, step);
 }
 
 void OmniboxEditModel::OnTabPressed(bool shift) {
@@ -2119,12 +2082,21 @@
 void OmniboxEditModel::StepPopupSelection(
     OmniboxPopupSelection::Direction direction,
     OmniboxPopupSelection::Step step) {
-  DCHECK(popup_view_);
-  // This block steps the popup selection, with special consideration
-  // for existing keyword logic in the edit model, where ClearKeyword must be
-  // called before changing the selected line.
-  // AcceptKeyword should be called after changing the selected line so we don't
-  // accept keyword on the wrong suggestion when stepping backwards.
+  // NOTE: This purposefully doesn't trigger any code that resets
+  // `paste_state_`.
+
+  // The popup could be working on a query but is not open. In that case, force
+  // it to open immediately.
+  if (MaybeStartQueryForPopup() || !PopupIsOpen())
+    return;
+
+  // The popup is open, so the user should be able to interact with it normally.
+
+  // This block steps the popup selection, with special consideration for
+  // existing keyword logic in the edit model, where `ClearKeyword()` must be
+  // called before changing the selected line. `AcceptKeyword()` should be
+  // called after changing the selected line so we don't accept keyword on the
+  // wrong suggestion when stepping backwards.
   const OmniboxPopupSelection old_selection = GetPopupSelection();
   OmniboxPopupSelection new_selection = old_selection.GetNextSelection(
       autocomplete_controller()->result(), GetPrefService(),
@@ -2143,17 +2115,61 @@
       // for a long time. Consider refactoring to fix this if needed.
       AcceptKeyword(metrics::OmniboxEventProto::TAB);
     } else {
-      SetPopupSelection(new_selection);
+      // If, as a result of the key press, we would select the first result,
+      // then we should revert the temporary text same as what pressing escape
+      // would have done.
+      //
+      // Reverting, however, does not make sense for on-focus suggestions
+      // (`user_input_in_progress_` is false) unless the first result is a
+      // verbatim match of the omnibox input (on-focus query refinements on
+      // SERP).
+      if (autocomplete_controller()->result().default_match() &&
+          has_temporary_text_ && new_selection == OmniboxPopupSelection(0) &&
+          (user_input_in_progress_ || autocomplete_controller()
+                                          ->result()
+                                          .default_match()
+                                          ->IsVerbatimType())) {
+        RevertTemporaryTextAndPopup();
+      } else {
+        SetPopupSelection(new_selection);
+      }
     }
   } else {
-    if (old_selection.IsChangeToKeyword(new_selection)) {
-      ClearKeyword();
-    }
-    SetPopupSelection(new_selection);
-    if (new_selection.IsChangeToKeyword(old_selection)) {
-      AcceptKeyword(metrics::OmniboxEventProto::TAB);
+    if (old_selection.IsChangeToKeyword(new_selection) ||
+        new_selection.IsChangeToKeyword(old_selection)) {
+      if (old_selection.IsChangeToKeyword(new_selection)) {
+        ClearKeyword();
+      }
+      SetPopupSelection(new_selection);
+      if (new_selection.IsChangeToKeyword(old_selection)) {
+        AcceptKeyword(metrics::OmniboxEventProto::TAB);
+      }
+    } else if (autocomplete_controller()->result().default_match() &&
+               has_temporary_text_ &&
+               new_selection == OmniboxPopupSelection{0} &&
+               (user_input_in_progress_ || autocomplete_controller()
+                                               ->result()
+                                               .default_match()
+                                               ->IsVerbatimType())) {
+      // If, as a result of the key press, we would select the first result,
+      // then we should revert the temporary text same as what pressing escape
+      // would have done.
+      //
+      // Reverting, however, does not make sense for on-focus suggestions
+      // (`user_input_in_progress_` is false) unless the first result is a
+      // verbatim match of the omnibox input (on-focus query refinements on
+      // SERP).
+      RevertTemporaryTextAndPopup();
+    } else {
+      SetPopupSelection(new_selection);
     }
   }
+
+  DCHECK(popup_selection_ == new_selection);
+
+  // Inform the client that a new row is now selected.
+  OnNavigationLikely(popup_selection_.line,
+                     NavigationPredictor::kUpOrDownArrowButton);
 }
 
 void OmniboxEditModel::AcceptInput(WindowOpenDisposition disposition,
diff --git a/components/omnibox/browser/omnibox_feature_configs.cc b/components/omnibox/browser/omnibox_feature_configs.cc
index 603bc39..782fe5b 100644
--- a/components/omnibox/browser/omnibox_feature_configs.cc
+++ b/components/omnibox/browser/omnibox_feature_configs.cc
@@ -12,8 +12,8 @@
 
 namespace omnibox_feature_configs {
 
-constexpr auto enabled_by_default_desktop_ios =
-#if BUILDFLAG(IS_ANDROID)
+constexpr auto enabled_by_default_desktop_only =
+#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_IOS)
     base::FEATURE_DISABLED_BY_DEFAULT;
 #else
     base::FEATURE_ENABLED_BY_DEFAULT;
@@ -24,7 +24,7 @@
 // static
 BASE_FEATURE(CalcProvider::kCalcProvider,
              "OmniboxCalcProvider",
-             enabled_by_default_desktop_ios);
+             enabled_by_default_desktop_only);
 CalcProvider::CalcProvider() {
   enabled = base::FeatureList::IsEnabled(kCalcProvider);
   score =
diff --git a/components/optimization_guide/core/model_execution/on_device_model_service_controller.cc b/components/optimization_guide/core/model_execution/on_device_model_service_controller.cc
index 1cc0bc3..6f4ae4a 100644
--- a/components/optimization_guide/core/model_execution/on_device_model_service_controller.cc
+++ b/components/optimization_guide/core/model_execution/on_device_model_service_controller.cc
@@ -85,37 +85,6 @@
          model_info.GetAdditionalFileWithBaseName(kTsSpModelFile);
 }
 
-base::flat_map<proto::ModelExecutionFeature,
-               proto::FeatureTextSafetyConfiguration>
-GetFeatureTextSafetyConfigs(const ModelInfo& model_info) {
-  ScopedTextSafetyModelMetadataValidityLogger logger;
-
-  if (!model_info.GetModelMetadata()) {
-    logger.set_validity(TextSafetyModelMetadataValidity::kNoMetadata);
-    return {};
-  }
-
-  std::optional<proto::TextSafetyModelMetadata> model_metadata =
-      ParsedAnyMetadata<proto::TextSafetyModelMetadata>(
-          *model_info.GetModelMetadata());
-  if (!model_metadata) {
-    logger.set_validity(TextSafetyModelMetadataValidity::kMetadataWrongType);
-    return {};
-  }
-
-  logger.set_validity(TextSafetyModelMetadataValidity::kNoFeatureConfigs);
-
-  base::flat_map<proto::ModelExecutionFeature,
-                 proto::FeatureTextSafetyConfiguration>
-      feature_configs;
-  for (const auto& feature_config :
-       model_metadata->feature_text_safety_configurations()) {
-    logger.set_validity(TextSafetyModelMetadataValidity::kValid);
-    feature_configs[feature_config.feature()] = feature_config;
-  }
-  return feature_configs;
-}
-
 }  // namespace
 
 OnDeviceModelServiceController::OnDeviceModelServiceController(
@@ -283,10 +252,14 @@
   int max_tokens = features::GetOnDeviceModelMaxTokensForContext() +
                    features::GetOnDeviceModelMaxTokensForExecute() +
                    features::GetOnDeviceModelMaxTokensForOutput();
+  auto params = on_device_model::mojom::LoadModelParams::New();
+  params->assets = std::move(assets);
+  params->max_tokens = max_tokens;
+  if (safety_model_info_) {
+    params->ts_dimension = safety_model_info_->num_output_categories;
+  }
   service_remote_->LoadModel(
-      on_device_model::mojom::LoadModelParams::New(std::move(assets),
-                                                   max_tokens, std::nullopt),
-      std::move(model),
+      std::move(params), std::move(model),
       base::BindOnce(&OnDeviceModelServiceController::OnLoadModelResult,
                      weak_ptr_factory_.GetWeakPtr()));
 }
@@ -294,13 +267,7 @@
 void OnDeviceModelServiceController::MaybeUpdateSafetyModel(
     base::optional_ref<const ModelInfo> model_info) {
   if (model_info.has_value() && HasRequiredSafetyFiles(*model_info)) {
-    base::flat_map<proto::ModelExecutionFeature,
-                   proto::FeatureTextSafetyConfiguration>
-        feature_configs = GetFeatureTextSafetyConfigs(*model_info);
-    if (!feature_configs.empty()) {
-      safety_model_info_ = std::make_unique<SafetyModelInfo>(
-          *model_info, std::move(feature_configs));
-
+    if (InitializeSafetyModelInfo(*model_info)) {
       // Update the paths to be used in subsequent sessions.
       if (model_paths_) {
         model_paths_->ts_data =
@@ -342,6 +309,40 @@
   }
 }
 
+bool OnDeviceModelServiceController::InitializeSafetyModelInfo(
+    const ModelInfo& model_info) {
+  ScopedTextSafetyModelMetadataValidityLogger logger;
+
+  if (!model_info.GetModelMetadata()) {
+    logger.set_validity(TextSafetyModelMetadataValidity::kNoMetadata);
+    return false;
+  }
+
+  std::optional<proto::TextSafetyModelMetadata> model_metadata =
+      ParsedAnyMetadata<proto::TextSafetyModelMetadata>(
+          *model_info.GetModelMetadata());
+  if (!model_metadata) {
+    logger.set_validity(TextSafetyModelMetadataValidity::kMetadataWrongType);
+    return false;
+  }
+
+  logger.set_validity(TextSafetyModelMetadataValidity::kNoFeatureConfigs);
+
+  base::flat_map<proto::ModelExecutionFeature,
+                 proto::FeatureTextSafetyConfiguration>
+      feature_configs;
+  for (const auto& feature_config :
+       model_metadata->feature_text_safety_configurations()) {
+    logger.set_validity(TextSafetyModelMetadataValidity::kValid);
+    feature_configs[feature_config.feature()] = feature_config;
+  }
+
+  safety_model_info_ = std::make_unique<SafetyModelInfo>(
+      model_info, model_metadata->num_output_categories(),
+      std::move(feature_configs));
+  return true;
+}
+
 void OnDeviceModelServiceController::OnLoadModelResult(
     on_device_model::mojom::LoadModelResult result) {
   base::UmaHistogramEnumeration(
@@ -413,9 +414,13 @@
 
 OnDeviceModelServiceController::SafetyModelInfo::SafetyModelInfo(
     const ModelInfo& model_info,
+    uint32_t num_output_categories,
     base::flat_map<proto::ModelExecutionFeature,
                    proto::FeatureTextSafetyConfiguration> feature_configs)
-    : model_info(model_info), feature_configs(std::move(feature_configs)) {}
+    : model_info(model_info),
+      num_output_categories(num_output_categories),
+      feature_configs(std::move(feature_configs)) {}
+
 OnDeviceModelServiceController::SafetyModelInfo::~SafetyModelInfo() = default;
 
 }  // namespace optimization_guide
diff --git a/components/optimization_guide/core/model_execution/on_device_model_service_controller.h b/components/optimization_guide/core/model_execution/on_device_model_service_controller.h
index 26824a92..9128693 100644
--- a/components/optimization_guide/core/model_execution/on_device_model_service_controller.h
+++ b/components/optimization_guide/core/model_execution/on_device_model_service_controller.h
@@ -4,6 +4,7 @@
 #ifndef COMPONENTS_OPTIMIZATION_GUIDE_CORE_MODEL_EXECUTION_ON_DEVICE_MODEL_SERVICE_CONTROLLER_H_
 #define COMPONENTS_OPTIMIZATION_GUIDE_CORE_MODEL_EXECUTION_ON_DEVICE_MODEL_SERVICE_CONTROLLER_H_
 
+#include <cstdint>
 #include <memory>
 #include <optional>
 #include <string_view>
@@ -118,16 +119,20 @@
    public:
     SafetyModelInfo(
         const ModelInfo& model_info,
+        uint32_t num_output_categories,
         base::flat_map<proto::ModelExecutionFeature,
                        proto::FeatureTextSafetyConfiguration> feature_configs);
     ~SafetyModelInfo();
 
-    ModelInfo model_info;
+    const ModelInfo model_info;
+    const uint32_t num_output_categories;
     base::flat_map<proto::ModelExecutionFeature,
                    proto::FeatureTextSafetyConfiguration>
         feature_configs;
   };
 
+  bool InitializeSafetyModelInfo(const ModelInfo& model_info);
+
   // Sets the base model directory and initializes the on-device model
   // controller with the parameters, to be ready to load models and execute.
   void SetModelPath(const base::FilePath& model_path,
diff --git a/components/optimization_guide/internal b/components/optimization_guide/internal
index 5ebbe58..a3760c6 160000
--- a/components/optimization_guide/internal
+++ b/components/optimization_guide/internal
@@ -1 +1 @@
-Subproject commit 5ebbe58ea936307a4864e6f9a783516388711e0b
+Subproject commit a3760c690e015a558051a86ec9077028fcbc737f
diff --git a/components/policy/resources/templates/policies.yaml b/components/policy/resources/templates/policies.yaml
index 7c37d10e..8e886f1d 100644
--- a/components/policy/resources/templates/policies.yaml
+++ b/components/policy/resources/templates/policies.yaml
@@ -1194,6 +1194,7 @@
   1193: CAHintCertificates
   1194: DeviceLoginScreenTouchVirtualKeyboardEnabled
   1195: DeviceExtendedAutoUpdateEnabled
+  1196: CAPlatformIntegrationEnabled
 atomic_groups:
   1: Homepage
   2: RemoteAccess
diff --git a/components/policy/resources/templates/policy_definitions/CertificateManagement/CAPlatformIntegrationEnabled.yaml b/components/policy/resources/templates/policy_definitions/CertificateManagement/CAPlatformIntegrationEnabled.yaml
new file mode 100644
index 0000000..ee765956
--- /dev/null
+++ b/components/policy/resources/templates/policy_definitions/CertificateManagement/CAPlatformIntegrationEnabled.yaml
@@ -0,0 +1,31 @@
+caption: Use user-added TLS certificates from platform trust stores for server authentication
+default: true
+desc: |-
+  If enabled(or not set), user-added TLS certificates from platform trust stores will be used in path-building for TLS server authentication.
+
+  If disabled, user-added TLS certificates from platform trust stores will not be used in path-building for TLS server authentication.
+example_value: false
+features:
+  dynamic_refresh: true
+  per_profile: true
+owners:
+- dadrian@chromium.org
+- davidben@chromium.org
+- hchao@chromium.org
+- mattm@chromium.org
+items:
+- caption: Import user-added TLS server certificates from platform trust stores.
+  value: true
+- caption: Do not import user-added TLS server certificates from platform trust stores.
+  value: false
+schema:
+  type: boolean
+# Supported platforms should be kept in sync with the
+# chrome_certificate_policies_supported build flag in
+# chrome/common/features.gni
+future_on:
+- chrome.linux
+- chrome.mac
+- chrome.win
+tags: []
+type: main
diff --git a/components/policy/test/data/pref_mapping/CAPlatformIntegrationEnabled.json b/components/policy/test/data/pref_mapping/CAPlatformIntegrationEnabled.json
new file mode 100644
index 0000000..1118d33a
--- /dev/null
+++ b/components/policy/test/data/pref_mapping/CAPlatformIntegrationEnabled.json
@@ -0,0 +1,41 @@
+[
+  {
+    "os": [
+      "win",
+      "mac",
+      "linux"
+    ],
+    "policy_pref_mapping_tests": [
+      {
+        "note": "Default value (no policies set).",
+        "prefs": {
+          "certificates.ca_platform_integration_enabled": {
+            "default_value": true
+          }
+        }
+      },
+      {
+        "note": "true value.",
+        "policies": {
+          "CAPlatformIntegrationEnabled": true
+        },
+        "prefs": {
+          "certificates.ca_platform_integration_enabled": {
+            "value": true
+          }
+        }
+      },
+      {
+        "note": "false value.",
+        "policies": {
+          "CAPlatformIntegrationEnabled": false
+        },
+        "prefs": {
+          "certificates.ca_platform_integration_enabled": {
+            "value": false
+          }
+        }
+      }
+    ]
+  }
+]
diff --git a/components/rlz/BUILD.gn b/components/rlz/BUILD.gn
index d2f4861..0da57470 100644
--- a/components/rlz/BUILD.gn
+++ b/components/rlz/BUILD.gn
@@ -41,6 +41,19 @@
   }
 }
 
+source_set("test_support") {
+  testonly = true
+  sources = [
+    "mock_rlz_tracker_delegate.cc",
+    "mock_rlz_tracker_delegate.h",
+  ]
+  public_deps = [ "//testing/gmock" ]
+  deps = [
+    ":rlz",
+    "//services/network/public/cpp:cpp",
+  ]
+}
+
 source_set("unit_tests") {
   testonly = true
   sources = [ "rlz_tracker_unittest.cc" ]
diff --git a/components/rlz/mock_rlz_tracker_delegate.cc b/components/rlz/mock_rlz_tracker_delegate.cc
new file mode 100644
index 0000000..1d30bdb
--- /dev/null
+++ b/components/rlz/mock_rlz_tracker_delegate.cc
@@ -0,0 +1,13 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "components/rlz/mock_rlz_tracker_delegate.h"
+
+namespace rlz {
+
+MockRLZTrackerDelegate::MockRLZTrackerDelegate() = default;
+
+MockRLZTrackerDelegate::~MockRLZTrackerDelegate() = default;
+
+}  // namespace rlz
diff --git a/components/rlz/mock_rlz_tracker_delegate.h b/components/rlz/mock_rlz_tracker_delegate.h
new file mode 100644
index 0000000..e1a310a
--- /dev/null
+++ b/components/rlz/mock_rlz_tracker_delegate.h
@@ -0,0 +1,48 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef COMPONENTS_RLZ_MOCK_RLZ_TRACKER_DELEGATE_H_
+#define COMPONENTS_RLZ_MOCK_RLZ_TRACKER_DELEGATE_H_
+
+#include "components/rlz/rlz_tracker_delegate.h"
+#include "services/network/public/cpp/shared_url_loader_factory.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+namespace rlz {
+
+class MockRLZTrackerDelegate : public RLZTrackerDelegate {
+ public:
+  MockRLZTrackerDelegate();
+  MockRLZTrackerDelegate(const MockRLZTrackerDelegate&) = delete;
+  MockRLZTrackerDelegate& operator=(const MockRLZTrackerDelegate&) = delete;
+  ~MockRLZTrackerDelegate() override;
+
+  MOCK_METHOD(void, Cleanup, (), (override));
+  MOCK_METHOD(bool, IsOnUIThread, (), (override));
+  MOCK_METHOD(scoped_refptr<network::SharedURLLoaderFactory>,
+              GetURLLoaderFactory,
+              (),
+              (override));
+  MOCK_METHOD(bool, GetBrand, (std::string * brand), (override));
+  MOCK_METHOD(bool, IsBrandOrganic, (const std::string& brand), (override));
+  MOCK_METHOD(bool, GetReactivationBrand, (std::string * brand), (override));
+  MOCK_METHOD(bool, ShouldEnableZeroDelayForTesting, (), (override));
+  MOCK_METHOD(bool, GetLanguage, (std::u16string * language), (override));
+  MOCK_METHOD(bool, GetReferral, (std::u16string * referral), (override));
+  MOCK_METHOD(bool, ClearReferral, (), (override));
+  MOCK_METHOD(void,
+              SetOmniboxSearchCallback,
+              (base::OnceClosure callback),
+              (override));
+  MOCK_METHOD(void,
+              SetHomepageSearchCallback,
+              (base::OnceClosure callback),
+              (override));
+  MOCK_METHOD(void, RunHomepageSearchCallback, (), (override));
+  MOCK_METHOD(bool, ShouldUpdateExistingAccessPointRlz, (), (override));
+};
+
+}  // namespace rlz
+
+#endif  // COMPONENTS_RLZ_MOCK_RLZ_TRACKER_DELEGATE_H_
diff --git a/components/rlz/rlz_tracker.cc b/components/rlz/rlz_tracker.cc
index a26c176..859d2e5 100644
--- a/components/rlz/rlz_tracker.cc
+++ b/components/rlz/rlz_tracker.cc
@@ -114,7 +114,7 @@
   }
 
   // Record first user interaction with the omnibox. We call this all the
-  // time but the rlz lib should ingore all but the first one.
+  // time but the rlz lib should ignore all but the first one.
   if (omnibox_used) {
     rlz_lib::RecordProductEvent(rlz_lib::CHROME,
                                 RLZTracker::ChromeOmnibox(),
@@ -123,7 +123,7 @@
 
 #if !BUILDFLAG(IS_IOS)
   // Record first user interaction with the home page. We call this all the
-  // time but the rlz lib should ingore all but the first one.
+  // time but the rlz lib should ignore all but the first one.
   if (homepage_used || is_google_in_startpages) {
     rlz_lib::RecordProductEvent(rlz_lib::CHROME,
                                 RLZTracker::ChromeHomePage(),
@@ -131,7 +131,7 @@
   }
 
   // Record first user interaction with the app list. We call this all the
-  // time but the rlz lib should ingore all but the first one.
+  // time but the rlz lib should ignore all but the first one.
   if (app_list_used) {
     rlz_lib::RecordProductEvent(rlz_lib::CHROME,
                                 RLZTracker::ChromeAppList(),
@@ -260,6 +260,15 @@
 }
 
 // static
+void RLZTracker::ClearRlzDelegateForTesting() {
+  GetInstance()->ClearDelegateForTesting();  // IN-TEST
+}
+
+void RLZTracker::ClearDelegateForTesting() {
+  delegate_.reset();
+}
+
+// static
 bool RLZTracker::InitRlzDelayed(bool first_run,
                                 bool send_ping_immediately,
                                 base::TimeDelta delay,
@@ -496,6 +505,12 @@
 
   DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_);
 
+#if !BUILDFLAG(IS_IOS)
+  if (point == ChromeHomePage()) {
+    chrome_homepage_search_recorded_ = true;
+  }
+#endif  // !BUILDFLAG(IS_IOS)
+
   bool* record_used = GetAccessPointRecord(point);
 
   // Try to record event now, else set the flag to try later when we
@@ -657,6 +672,32 @@
   if (tracker->delegate_)
     tracker->RecordFirstSearch(RLZTracker::ChromeAppList());
 }
-#endif
+
+// static
+bool RLZTracker::ShouldRecordChromeHomePageSearch() {
+  RLZTracker* tracker = GetInstance();
+  return tracker->delegate_ && tracker->delegate_->GetBrand(&tracker->brand_) &&
+         !tracker->delegate_->IsBrandOrganic(tracker->brand_) &&
+         !tracker->chrome_homepage_search_recorded_;
+}
+
+// static
+void RLZTracker::RecordChromeHomePageSearch() {
+  RLZTracker* tracker = GetInstance();
+  if (tracker->delegate_ && tracker->ShouldRecordChromeHomePageSearch()) {
+    tracker->delegate_->RunHomepageSearchCallback();
+  }
+}
+
+// static
+void RLZTracker::SetRlzChromeHomePageSearchRecordedForTesting(bool recorded) {
+  GetInstance()->SetChromeHomePageSearchRecordedForTesting(  // IN-TEST
+      recorded);
+}
+
+void RLZTracker::SetChromeHomePageSearchRecordedForTesting(bool recorded) {
+  chrome_homepage_search_recorded_ = recorded;
+}
+#endif  // !BUILDFLAG(IS_IOS)
 
 }  // namespace rlz
diff --git a/components/rlz/rlz_tracker.h b/components/rlz/rlz_tracker.h
index bd2166d..583f167 100644
--- a/components/rlz/rlz_tracker.h
+++ b/components/rlz/rlz_tracker.h
@@ -45,6 +45,9 @@
   // instance. Must be called before calling any other method of RLZTracker.
   static void SetRlzDelegate(std::unique_ptr<RLZTrackerDelegate> delegate);
 
+  // Clear the RLZTrackerDelegate for testing only.
+  static void ClearRlzDelegateForTesting();
+
   // Initializes the RLZ library services for use in chrome. Schedules a delayed
   // task that performs the ping and registers some events when 'first-run' is
   // true.
@@ -62,7 +65,7 @@
                              bool is_google_in_startpages);
 
   // Records an RLZ event. Some events can be access point independent.
-  // Returns false it the event could not be recorded. Requires write access
+  // Returns false if the event could not be recorded. Requires write access
   // to the HKCU registry hive on windows.
   static bool RecordProductEvent(rlz_lib::Product product,
                                  rlz_lib::AccessPoint point,
@@ -73,7 +76,7 @@
 #if !BUILDFLAG(IS_IOS)
   static rlz_lib::AccessPoint ChromeHomePage();
   static rlz_lib::AccessPoint ChromeAppList();
-#endif
+#endif  // !BUILDFLAG(IS_IOS)
 
   // Gets the HTTP header value that can be added to requests from the
   // specific access point.  The string returned is of the form:
@@ -106,7 +109,19 @@
 #if !BUILDFLAG(IS_IOS)
   // Records that the app list search has been used.
   static void RecordAppListSearch();
-#endif
+
+  // Returns true if there is a non-organic brand code and we have never
+  // recorded that user has performed a Google search from their Google homepage
+  // yet.
+  static bool ShouldRecordChromeHomePageSearch();
+
+  // Records that the user has their homepage set to Google search and performs
+  // a Google search from there. This event should be recorded at most once.
+  static void RecordChromeHomePageSearch();
+
+  // Manually sets if the search has been performed for testing only.
+  static void SetRlzChromeHomePageSearchRecordedForTesting(bool recorded);
+#endif  // !BUILDFLAG(IS_IOS)
 
   // The following methods are made protected so that they can be used for
   // testing purposes. Production code should never need to call these.
@@ -134,6 +149,9 @@
   // Implementation called from SetRlzDelegate() static method.
   void SetDelegate(std::unique_ptr<RLZTrackerDelegate> delegate);
 
+  // Implementation called from ClearRlzDelegateForTesting() static method.
+  void ClearDelegateForTesting();
+
   // Implementation called from InitRlzDelayed() static method.
   bool Init(bool first_run,
             bool send_ping_immediately,
@@ -199,6 +217,12 @@
   // used but not reported.
   bool* GetAccessPointRecord(rlz_lib::AccessPoint point);
 
+#if !BUILDFLAG(IS_IOS)
+  // Implementation called from SetRlzChromeHomePageSearchRecordedForTesting()
+  // static method.
+  void SetChromeHomePageSearchRecordedForTesting(bool recorded);
+#endif  // !BUILDFLAG(IS_IOS)
+
   // Tracker used for testing purposes only. If this value is non-NULL, it
   // will be returned from GetInstance() instead of the regular singleton.
   static RLZTracker* tracker_;
@@ -229,6 +253,16 @@
   bool homepage_used_;
   bool app_list_used_;
 
+#if !BUILDFLAG(IS_IOS)
+  // Sets to true when we have attempted to record that user has performed a
+  // Google search from their Google homepage. This will be set to true
+  // regardless whether the event is recorded successfully, so that new
+  // |ChromeRLZTrackerWebContentsObserver| only observes web contents if still
+  // needed. On the contrast, |homepage_used_| is only set to true if the event
+  // is not recorded successfully and needs another attempt.
+  bool chrome_homepage_search_recorded_ = false;
+#endif  // !BUILDFLAG(IS_IOS)
+
   // Main and (optionally) reactivation brand codes, assigned on UI thread.
   std::string brand_;
   std::string reactivation_brand_;
diff --git a/components/rlz/rlz_tracker_delegate.h b/components/rlz/rlz_tracker_delegate.h
index 4e6a0db..c0dd566 100644
--- a/components/rlz/rlz_tracker_delegate.h
+++ b/components/rlz/rlz_tracker_delegate.h
@@ -8,6 +8,7 @@
 #include <string>
 
 #include "base/functional/callback_forward.h"
+#include "base/memory/scoped_refptr.h"
 
 namespace network {
 class SharedURLLoaderFactory;
@@ -61,16 +62,19 @@
   // Clears the referral code. Deprecated.
   virtual bool ClearReferral() = 0;
 
-  // Registers |callback| to be invoked the next time the user perform a search
+  // Registers |callback| to be invoked the next time the user performs a search
   // using Google search engine via the omnibox. Callback will invoked at most
   // once.
   virtual void SetOmniboxSearchCallback(base::OnceClosure callback) = 0;
 
-  // Registers |callback| to be invoked the next time the user perform a search
+  // Registers |callback| to be invoked the next time the user performs a search
   // using Google search engine via the homepage. Callback will invoked at most
   // once.
   virtual void SetHomepageSearchCallback(base::OnceClosure callback) = 0;
 
+  // Invokes the homepage search callback if it is set.
+  virtual void RunHomepageSearchCallback() = 0;
+
   // Returns true if the existing access point RLZ strings in the data file
   // should be updated.
   virtual bool ShouldUpdateExistingAccessPointRlz() = 0;
diff --git a/components/rlz/rlz_tracker_unittest.cc b/components/rlz/rlz_tracker_unittest.cc
index fe76608..d5bbab78 100644
--- a/components/rlz/rlz_tracker_unittest.cc
+++ b/components/rlz/rlz_tracker_unittest.cc
@@ -108,6 +108,12 @@
     on_homepage_search_callback_ = std::move(callback);
   }
 
+  void RunHomepageSearchCallback() override {
+    if (!on_homepage_search_callback_.is_null()) {
+      std::move(on_homepage_search_callback_).Run();
+    }
+  }
+
   // A speculative fix for https://crbug.com/907379.
   bool ShouldUpdateExistingAccessPointRlz() override { return false; }
 
@@ -1062,4 +1068,21 @@
 }
 #endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 
+#if !BUILDFLAG(IS_IOS)
+TEST_F(RlzLibTest, RecordChromeHomePageSearch) {
+  TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false);
+  EXPECT_TRUE(TestRLZTracker::ShouldRecordChromeHomePageSearch());
+
+  TestRLZTracker::RecordChromeHomePageSearch();
+  EXPECT_FALSE(TestRLZTracker::ShouldRecordChromeHomePageSearch());
+  ExpectEventRecorded(kHomepageFirstSearch, true);
+}
+
+TEST_F(RlzLibTest, ShouldNotRecordChromeHomePageSearch) {
+  SetMainBrand("GGLS");
+  TestRLZTracker::InitRlzDelayed(true, false, kDelay, true, true, false);
+  EXPECT_FALSE(TestRLZTracker::ShouldRecordChromeHomePageSearch());
+}
+#endif  // !BUILDFLAG(IS_IOS)
+
 }  // namespace rlz
diff --git a/components/services/font/public/cpp/font_service_thread.cc b/components/services/font/public/cpp/font_service_thread.cc
index 622d72a3..a71ecda 100644
--- a/components/services/font/public/cpp/font_service_thread.cc
+++ b/components/services/font/public/cpp/font_service_thread.cc
@@ -9,8 +9,10 @@
 #include "base/files/file.h"
 #include "base/functional/bind.h"
 #include "base/functional/callback_helpers.h"
+#include "base/metrics/histogram_functions.h"
 #include "base/synchronization/waitable_event.h"
 #include "base/task/thread_pool.h"
+#include "base/timer/elapsed_timer.h"
 #include "components/services/font/public/cpp/mapped_font_file.h"
 #include "pdf/buildflags.h"
 
@@ -42,6 +44,9 @@
     SkFontStyle* out_style) {
   DCHECK(!task_runner_->RunsTasksInCurrentSequence());
   bool out_valid = false;
+
+  base::ElapsedTimer timer;
+
   // This proxies to the other thread, which proxies to mojo. Only on the reply
   // from mojo do we return from this.
   base::WaitableEvent done_event;
@@ -52,6 +57,9 @@
                      out_font_identity, out_family_name, out_style));
   done_event.Wait();
 
+  base::UmaHistogramMicrosecondsTimes(
+      "Blink.Fonts.FontServiceThread.MatchFamilyNameTime", timer.Elapsed());
+
   return out_valid;
 }
 
@@ -134,6 +142,8 @@
     const SkFontConfigInterface::FontIdentity& identity) {
   DCHECK(!task_runner_->RunsTasksInCurrentSequence());
 
+  base::ElapsedTimer timer;
+
   base::File stream_file;
   // This proxies to the other thread, which proxies to mojo. Only on the
   // reply from mojo do we return from this.
@@ -143,6 +153,9 @@
                                 &done_event, &stream_file, identity.fID));
   done_event.Wait();
 
+  base::UmaHistogramMicrosecondsTimes(
+      "Blink.Fonts.FontServiceThread.OpenStreamTime", timer.Elapsed());
+
   if (!stream_file.IsValid()) {
     // The font-service may have been killed.
     return nullptr;
diff --git a/components/site_isolation/BUILD.gn b/components/site_isolation/BUILD.gn
index d415c5fe..5e39ee4 100644
--- a/components/site_isolation/BUILD.gn
+++ b/components/site_isolation/BUILD.gn
@@ -5,6 +5,8 @@
 import("//build/buildflag_header.gni")
 import("//build/config/chrome_build.gni")
 
+assert(!is_ios)
+
 declare_args() {
   # Normally, only Google Chrome Android and some Fuchsia WebEngine builds will
   # use a Google-internal list of isolated origins defined below.
diff --git a/components/site_isolation/README.md b/components/site_isolation/README.md
index 61d77a1..50aedc8c 100644
--- a/components/site_isolation/README.md
+++ b/components/site_isolation/README.md
@@ -8,7 +8,8 @@
 sites, managing preferences that store heuristically isolated sites where
 users have entered passwords or logged in via OAuth, and computing memory
 thresholds for applying Site Isolation. Platforms that currently use
-partial Site Isolation include Android, Fuchsia, and WebLayer. See
+partial Site Isolation include Android, Fuchsia, and WebLayer, while iOS does
+not support Site Isolation at all. See
 [process_model_and_site_isolation.md](/docs/process_model_and_site_isolation.md)
 for more details.
 
diff --git a/content/browser/devtools/devtools_instrumentation.cc b/content/browser/devtools/devtools_instrumentation.cc
index 600827382..303c663 100644
--- a/content/browser/devtools/devtools_instrumentation.cc
+++ b/content/browser/devtools/devtools_instrumentation.cc
@@ -1557,6 +1557,17 @@
       event_time, type, unique_auction_id, parent_auction_id, auction_config);
 }
 
+void OnInterestGroupAuctionNetworkRequestCreated(
+    int frame_tree_node_id,
+    content::InterestGroupAuctionFetchType type,
+    const std::string& request_id,
+    const std::vector<std::string>& devtools_auction_ids) {
+  DispatchToAgents(frame_tree_node_id,
+                   &protocol::StorageHandler::
+                       NotifyInterestGroupAuctionNetworkRequestCreated,
+                   type, request_id, devtools_auction_ids);
+}
+
 void OnNavigationRequestWillBeSent(
     const NavigationRequest& navigation_request) {
   // Note this intentionally deviates from the usual instrumentation signal
diff --git a/content/browser/devtools/devtools_instrumentation.h b/content/browser/devtools/devtools_instrumentation.h
index 67b7e7c..b72b5e8e 100644
--- a/content/browser/devtools/devtools_instrumentation.h
+++ b/content/browser/devtools/devtools_instrumentation.h
@@ -240,6 +240,11 @@
     const std::string& unique_auction_id,
     base::optional_ref<const std::string> parent_auction_id,
     const base::Value::Dict& auction_config);
+void OnInterestGroupAuctionNetworkRequestCreated(
+    int frame_tree_node_id,
+    content::InterestGroupAuctionFetchType type,
+    const std::string& request_id,
+    const std::vector<std::string>& devtools_auction_ids);
 
 bool ShouldBypassCSP(const NavigationRequest& nav_request);
 
diff --git a/content/browser/devtools/protocol/storage_handler.cc b/content/browser/devtools/protocol/storage_handler.cc
index c9a4243..c5593a98 100644
--- a/content/browser/devtools/protocol/storage_handler.cc
+++ b/content/browser/devtools/protocol/storage_handler.cc
@@ -2188,5 +2188,37 @@
       std::make_unique<base::Value::Dict>(auction_config.Clone()));
 }
 
+void StorageHandler::NotifyInterestGroupAuctionNetworkRequestCreated(
+    content::InterestGroupAuctionFetchType type,
+    const std::string& request_id,
+    const std::vector<std::string>& devtools_auction_ids) {
+  if (!interest_group_auction_tracking_enabled_) {
+    return;
+  }
+  std::string type_enum;
+  switch (type) {
+    case content::InterestGroupAuctionFetchType::kBidderJs:
+      type_enum = Storage::InterestGroupAuctionFetchTypeEnum::BidderJs;
+      break;
+    case content::InterestGroupAuctionFetchType::kBidderWasm:
+      type_enum = Storage::InterestGroupAuctionFetchTypeEnum::BidderWasm;
+      break;
+    case content::InterestGroupAuctionFetchType::kSellerJs:
+      type_enum = Storage::InterestGroupAuctionFetchTypeEnum::SellerJs;
+      break;
+    case content::InterestGroupAuctionFetchType::kBidderTrustedSignals:
+      type_enum =
+          Storage::InterestGroupAuctionFetchTypeEnum::BidderTrustedSignals;
+      break;
+    case content::InterestGroupAuctionFetchType::kSellerTrustedSignals:
+      type_enum =
+          Storage::InterestGroupAuctionFetchTypeEnum::SellerTrustedSignals;
+      break;
+  };
+  frontend_->InterestGroupAuctionNetworkRequestCreated(
+      type_enum, request_id,
+      std::make_unique<std::vector<std::string>>(devtools_auction_ids));
+}
+
 }  // namespace protocol
 }  // namespace content
diff --git a/content/browser/devtools/protocol/storage_handler.h b/content/browser/devtools/protocol/storage_handler.h
index 20641890..71642d2 100644
--- a/content/browser/devtools/protocol/storage_handler.h
+++ b/content/browser/devtools/protocol/storage_handler.h
@@ -163,6 +163,11 @@
       base::optional_ref<const std::string> parent_auction_id,
       const base::Value::Dict& auction_config);
 
+  void NotifyInterestGroupAuctionNetworkRequestCreated(
+      content::InterestGroupAuctionFetchType type,
+      const std::string& request_id,
+      const std::vector<std::string>& devtools_auction_ids);
+
  private:
   // See definition for lifetime information.
   class CacheStorageObserver;
diff --git a/content/browser/interest_group/auction_url_loader_factory_proxy.cc b/content/browser/interest_group/auction_url_loader_factory_proxy.cc
index c2a7e2d..ab2fe0d 100644
--- a/content/browser/interest_group/auction_url_loader_factory_proxy.cc
+++ b/content/browser/interest_group/auction_url_loader_factory_proxy.cc
@@ -62,6 +62,7 @@
     GetUrlLoaderFactoryCallback get_trusted_url_loader_factory,
     PreconnectSocketCallback preconnect_socket_callback,
     GetCookieDeprecationLabelCallback get_cookie_deprecation_label,
+    GetDevtoolsAuctionIdsCallback get_devtools_auction_ids,
     bool force_reload,
     const url::Origin& top_frame_origin,
     const url::Origin& frame_origin,
@@ -78,6 +79,7 @@
       get_trusted_url_loader_factory_(
           std::move(get_trusted_url_loader_factory)),
       get_cookie_deprecation_label_(std::move(get_cookie_deprecation_label)),
+      get_devtools_auction_ids_(std::move(get_devtools_auction_ids)),
       top_frame_origin_(top_frame_origin),
       frame_origin_(frame_origin),
       renderer_process_id_(renderer_process_id),
@@ -122,6 +124,7 @@
 
   bool is_request_allowed = false;
   bool is_trusted_bidding_signals_request = false;
+  std::optional<InterestGroupAuctionFetchType> event_type;
 
   const SubresourceUrlBuilder::BundleSubresourceInfo* maybe_subresource_info =
       nullptr;
@@ -130,11 +133,17 @@
   if (url_request.url == script_url_ &&
       accept_header == "application/javascript") {
     is_request_allowed = true;
+    event_type = is_for_seller_ ? InterestGroupAuctionFetchType::kSellerJs
+                                : InterestGroupAuctionFetchType::kBidderJs;
   } else if (wasm_url_.has_value() && url_request.url == wasm_url_.value() &&
              accept_header == "application/wasm") {
+    event_type = InterestGroupAuctionFetchType::kBidderWasm;
     is_request_allowed = true;
   } else if (CouldBeTrustedSignalsUrl(url_request.url) &&
              accept_header == "application/json") {
+    event_type = is_for_seller_
+                     ? InterestGroupAuctionFetchType::kSellerTrustedSignals
+                     : InterestGroupAuctionFetchType::kBidderTrustedSignals;
     is_request_allowed = true;
     is_trusted_bidding_signals_request = true;
   } else {
@@ -188,6 +197,16 @@
   new_request.request_initiator = frame_origin_;
   new_request.enable_load_timing = url_request.enable_load_timing;
 
+  if (event_type.has_value() && new_request.devtools_request_id.has_value() &&
+      devtools_instrumentation::NeedInterestGroupAuctionEvents(
+          owner_frame_tree_node_id_)) {
+    std::vector<std::string> relevant_auction_ids =
+        get_devtools_auction_ids_.Run();
+    devtools_instrumentation::OnInterestGroupAuctionNetworkRequestCreated(
+        owner_frame_tree_node_id_, *event_type,
+        *new_request.devtools_request_id, relevant_auction_ids);
+  }
+
   if (is_trusted_bidding_signals_request) {
     std::optional<std::string> maybe_deprecation_label =
         get_cookie_deprecation_label_.Run();
diff --git a/content/browser/interest_group/auction_url_loader_factory_proxy.h b/content/browser/interest_group/auction_url_loader_factory_proxy.h
index b62f49ed..b7d3894b 100644
--- a/content/browser/interest_group/auction_url_loader_factory_proxy.h
+++ b/content/browser/interest_group/auction_url_loader_factory_proxy.h
@@ -8,6 +8,7 @@
 #include <stdint.h>
 
 #include <optional>
+#include <vector>
 
 #include "base/functional/callback_forward.h"
 #include "base/strings/string_piece.h"
@@ -48,6 +49,9 @@
   using GetCookieDeprecationLabelCallback =
       base::RepeatingCallback<std::optional<std::string>()>;
 
+  using GetDevtoolsAuctionIdsCallback =
+      base::RepeatingCallback<std::vector<std::string>()>;
+
   // Passed in callbacks must be safe to call at any time during the lifetime of
   // the AuctionURLLoaderFactoryProxy.
   //
@@ -93,6 +97,7 @@
       GetUrlLoaderFactoryCallback get_trusted_url_loader_factory,
       PreconnectSocketCallback preconnect_socket_callback,
       GetCookieDeprecationLabelCallback get_cookie_deprecation_label,
+      GetDevtoolsAuctionIdsCallback get_devtools_auction_ids,
       bool force_reload,
       const url::Origin& top_frame_origin,
       const url::Origin& frame_origin,
@@ -141,6 +146,7 @@
   const GetUrlLoaderFactoryCallback get_frame_url_loader_factory_;
   const GetUrlLoaderFactoryCallback get_trusted_url_loader_factory_;
   const GetCookieDeprecationLabelCallback get_cookie_deprecation_label_;
+  const GetDevtoolsAuctionIdsCallback get_devtools_auction_ids_;
 
   // Manages the bundle subresource URLs that may be accessed by the worklet.
   SubresourceUrlAuthorizations subresource_url_authorizations_;
diff --git a/content/browser/interest_group/auction_url_loader_factory_proxy_unittest.cc b/content/browser/interest_group/auction_url_loader_factory_proxy_unittest.cc
index 7080cec..49ce591 100644
--- a/content/browser/interest_group/auction_url_loader_factory_proxy_unittest.cc
+++ b/content/browser/interest_group/auction_url_loader_factory_proxy_unittest.cc
@@ -133,6 +133,7 @@
                        base::Unretained(this)),
         base::BindRepeating(
             []() -> std::optional<std::string> { return std::nullopt; }),
+        base::BindRepeating([]() -> std::vector<std::string> { return {}; }),
         /*force_reload=*/force_reload_, top_frame_origin_, frame_origin_,
         /*renderer_process_id=*/kRenderProcessId, is_for_seller_,
         client_security_state_.Clone(), GURL(kScriptUrl), wasm_url_,
diff --git a/content/browser/interest_group/auction_worklet_manager.cc b/content/browser/interest_group/auction_worklet_manager.cc
index e5a44e6..7f8e6a65 100644
--- a/content/browser/interest_group/auction_worklet_manager.cc
+++ b/content/browser/interest_group/auction_worklet_manager.cc
@@ -125,6 +125,8 @@
     return &url_loader_factory_proxy_->subresource_url_authorizations();
   }
 
+  std::vector<std::string> ComputeDevtoolsAuctionIds();
+
  private:
   friend class base::RefCounted<WorkletOwner>;
 
@@ -153,6 +155,9 @@
   void OnWorkletDisconnected(uint32_t /* custom_reason */,
                              const std::string& description);
 
+  static std::vector<std::string> GetDevtoolsAuctionIds(
+      base::WeakPtr<WorkletOwner> self);
+
   // Set to null once `this` is removed from AuctionWorkletManager's
   // WorkletOwner list, which happens on destruction or on Mojo pipe closure.
   // The latter allows a handle to still exist and refer to a WorkletOwner with
@@ -189,6 +194,9 @@
 
   uint64_t next_handle_seq_num_ = 0;
 
+  // Map from devtools auction ID to number of handles from that auction.
+  std::map<std::string, int> registered_devtools_auction_ids_;
+
   base::WeakPtrFactory<WorkletOwner> weak_ptr_factory_{this};
 };
 
@@ -212,12 +220,21 @@
 
 void AuctionWorkletManager::WorkletOwner::RegisterHandle(HandleKey handle) {
   handles_waiting_for_process_.insert(handle);
+  ++registered_devtools_auction_ids_[handle.second->devtools_auction_id_];
   if (worklet_created()) {
     MaybeQueueNotifications();
   }
 }
 
 void AuctionWorkletManager::WorkletOwner::UnregisterHandle(HandleKey handle) {
+  auto it = registered_devtools_auction_ids_.find(
+      handle.second->devtools_auction_id_);
+  DCHECK(it != registered_devtools_auction_ids_.end());
+  --it->second;
+  if (it->second == 0) {
+    registered_devtools_auction_ids_.erase(it);
+  }
+
   if (!handles_waiting_for_process_.erase(handle)) {
     // The handle should only be in one of the sets, so only need to search
     // `handles_with_process_` if it wasn't in `handles_waiting_for_process_`.
@@ -226,6 +243,15 @@
   DCHECK_EQ(handles_waiting_for_process_.count(handle), 0u);
 }
 
+std::vector<std::string>
+AuctionWorkletManager::WorkletOwner::ComputeDevtoolsAuctionIds() {
+  std::vector<std::string> result;
+  for (const auto& [id, count] : registered_devtools_auction_ids_) {
+    result.push_back(id);
+  }
+  return result;
+}
+
 AuctionWorkletManager::WorkletOwner::~WorkletOwner() {
   DCHECK(handles_waiting_for_process_.empty());
   DCHECK(handles_with_process_.empty());
@@ -344,6 +370,8 @@
       base::BindOnce(&Delegate::PreconnectSocket, base::Unretained(delegate)),
       base::BindRepeating(&Delegate::GetCookieDeprecationLabel,
                           base::Unretained(delegate)),
+      base::BindRepeating(&WorkletOwner::GetDevtoolsAuctionIds,
+                          weak_ptr_factory_.GetWeakPtr()),
       /*force_reload=*/rfh->reload_type() == ReloadType::BYPASSING_CACHE,
       worklet_manager_->top_window_origin(), worklet_manager_->frame_origin(),
       // NOTE: `rfh` can be null in tests.
@@ -432,6 +460,17 @@
   MaybeQueueNotifications();
 }
 
+// static
+std::vector<std::string>
+AuctionWorkletManager::WorkletOwner::GetDevtoolsAuctionIds(
+    base::WeakPtr<WorkletOwner> self) {
+  if (self) {
+    return self->ComputeDevtoolsAuctionIds();
+  }
+
+  return std::vector<std::string>();
+}
+
 AuctionWorkletManager::WorkletKey::WorkletKey(
     WorkletType type,
     const GURL& script_url,
@@ -524,11 +563,18 @@
   return *worklet_owner_->subresource_url_authorizations();
 }
 
+std::vector<std::string>
+AuctionWorkletManager::WorkletHandle::GetDevtoolsAuctionIdsForTesting() {
+  return worklet_owner_->ComputeDevtoolsAuctionIds();
+}
+
 AuctionWorkletManager::WorkletHandle::WorkletHandle(
+    std::string devtools_auction_id,
     scoped_refptr<WorkletOwner> worklet_owner,
     base::OnceClosure worklet_available_callback,
     FatalErrorCallback fatal_error_callback)
     : worklet_owner_(std::move(worklet_owner)),
+      devtools_auction_id_(std::move(devtools_auction_id)),
       worklet_available_callback_(std::move(worklet_available_callback)),
       fatal_error_callback_(std::move(fatal_error_callback)),
       seq_num_(worklet_owner_->GetNextSeqNum()) {
@@ -633,6 +679,7 @@
 }
 
 void AuctionWorkletManager::RequestBidderWorklet(
+    std::string devtools_auction_id,
     const GURL& bidding_logic_url,
     const std::optional<GURL>& wasm_url,
     const std::optional<GURL>& trusted_bidding_signals_url,
@@ -646,11 +693,12 @@
       BidderWorkletKey(bidding_logic_url, wasm_url, trusted_bidding_signals_url,
                        needs_cors_for_additional_bid, experiment_group_id,
                        trusted_bidding_signals_slot_size_param),
-      std::move(worklet_available_callback), std::move(fatal_error_callback),
-      out_worklet_handle);
+      std::move(devtools_auction_id), std::move(worklet_available_callback),
+      std::move(fatal_error_callback), out_worklet_handle);
 }
 
 void AuctionWorkletManager::RequestSellerWorklet(
+    std::string devtools_auction_id,
     const GURL& decision_logic_url,
     const std::optional<GURL>& trusted_scoring_signals_url,
     std::optional<uint16_t> experiment_group_id,
@@ -664,13 +712,14 @@
                           /*needs_cors_for_additional_bid=*/false,
                           experiment_group_id,
                           /*trusted_bidding_signals_slot_size_param=*/"");
-  RequestWorkletByKey(std::move(worklet_info),
+  RequestWorkletByKey(std::move(worklet_info), std::move(devtools_auction_id),
                       std::move(worklet_available_callback),
                       std::move(fatal_error_callback), out_worklet_handle);
 }
 
 void AuctionWorkletManager::RequestWorkletByKey(
     WorkletKey worklet_info,
+    std::string devtools_auction_id,
     base::OnceClosure worklet_available_callback,
     FatalErrorCallback fatal_error_callback,
     std::unique_ptr<WorkletHandle>& out_worklet_handle) {
@@ -686,8 +735,8 @@
     worklets_.emplace(std::pair(std::move(worklet_info), worklet.get()));
   }
   out_worklet_handle.reset(new WorkletHandle(
-      std::move(worklet), std::move(worklet_available_callback),
-      std::move(fatal_error_callback)));
+      std::move(devtools_auction_id), std::move(worklet),
+      std::move(worklet_available_callback), std::move(fatal_error_callback)));
 }
 
 void AuctionWorkletManager::OnWorkletNoLongerUsable(WorkletOwner* worklet) {
diff --git a/content/browser/interest_group/auction_worklet_manager.h b/content/browser/interest_group/auction_worklet_manager.h
index 53a427b..2da6f15 100644
--- a/content/browser/interest_group/auction_worklet_manager.h
+++ b/content/browser/interest_group/auction_worklet_manager.h
@@ -193,12 +193,17 @@
     const SubresourceUrlAuthorizations&
     GetSubresourceUrlAuthorizationsForTesting();
 
+    // Returns devtools IDs of all auctions that are using the worklet pointed
+    // to by this handle.
+    std::vector<std::string> GetDevtoolsAuctionIdsForTesting();
+
    private:
     friend class AuctionWorkletManager;
     friend class WorkletOwner;
 
     // These are only created by AuctionWorkletManager.
-    explicit WorkletHandle(scoped_refptr<WorkletOwner> worklet_owner,
+    explicit WorkletHandle(std::string devtools_auction_id,
+                           scoped_refptr<WorkletOwner> worklet_owner,
                            base::OnceClosure worklet_available_callback,
                            FatalErrorCallback fatal_error_callback);
 
@@ -212,6 +217,7 @@
     bool worklet_created() const;
 
     scoped_refptr<WorkletOwner> worklet_owner_;
+    std::string devtools_auction_id_;
 
     base::OnceClosure worklet_available_callback_;
     FatalErrorCallback fatal_error_callback_;
@@ -243,6 +249,9 @@
   // Requests a worklet with the specified properties. The top frame origin and
   // debugging information are obtained from the Delegate's RenderFrameHost.
   //
+  // `devtools_auction_id` will be used to related network events to given
+  // auction. It serves no other purpose and does not affect worklet sharing.
+  //
   // The AuctionWorkletManager will handle requesting a process, hooking up
   // DevTools, and merging requests with the same parameters so they can share a
   // single worklet.
@@ -268,6 +277,7 @@
   // The callbacks should not delete the AuctionWorkletManager itself, but are
   // free to release any WorkletHandle they wish.
   void RequestBidderWorklet(
+      std::string devtools_auction_id,
       const GURL& bidding_logic_url,
       const std::optional<GURL>& wasm_url,
       const std::optional<GURL>& trusted_bidding_signals_url,
@@ -278,6 +288,7 @@
       FatalErrorCallback fatal_error_callback,
       std::unique_ptr<WorkletHandle>& out_worklet_handle);
   void RequestSellerWorklet(
+      std::string devtools_auction_id,
       const GURL& decision_logic_url,
       const std::optional<GURL>& trusted_scoring_signals_url,
       std::optional<uint16_t> experiment_group_id,
@@ -285,6 +296,7 @@
       FatalErrorCallback fatal_error_callback,
       std::unique_ptr<WorkletHandle>& out_worklet_handle);
   void RequestWorkletByKey(WorkletKey worklet_info,
+                           std::string devtools_auction_id,
                            base::OnceClosure worklet_available_callback,
                            FatalErrorCallback fatal_error_callback,
                            std::unique_ptr<WorkletHandle>& out_worklet_handle);
diff --git a/content/browser/interest_group/auction_worklet_manager_unittest.cc b/content/browser/interest_group/auction_worklet_manager_unittest.cc
index 88eb2a045..2863602a 100644
--- a/content/browser/interest_group/auction_worklet_manager_unittest.cc
+++ b/content/browser/interest_group/auction_worklet_manager_unittest.cc
@@ -51,9 +51,17 @@
 #include "url/gurl.h"
 #include "url/origin.h"
 
+using testing::UnorderedElementsAre;
+
 namespace content {
 namespace {
 
+const char kAuction1[] = "a";
+const char kAuction2[] = "b";
+const char kAuction3[] = "c";
+const char kAuction4[] = "d";
+const char kAuction5[] = "e";
+
 using BundleSubresourceInfo = SubresourceUrlBuilder::BundleSubresourceInfo;
 
 constexpr char kBuyer1OriginStr[] = "https://origin.test";
@@ -739,7 +747,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -747,6 +755,8 @@
       handle);
   ASSERT_TRUE(worklet_available.Wait());
   EXPECT_TRUE(handle->GetBidderWorklet());
+  EXPECT_THAT(handle->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction1));
   handle->AuthorizeSubresourceUrls(kPopulatedSubresourceBuilder);
 
   std::unique_ptr<MockBidderWorklet> bidder_worklet =
@@ -788,11 +798,13 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle);
   ASSERT_TRUE(worklet_available.Wait());
   EXPECT_TRUE(handle->GetSellerWorklet());
+  EXPECT_THAT(handle->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction1));
   handle->AuthorizeSubresourceUrls(kPopulatedSubresourceBuilder);
 
   std::unique_ptr<MockSellerWorklet> seller_worklet =
@@ -834,7 +846,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -856,7 +868,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle);
   ASSERT_TRUE(worklet_available.Wait());
@@ -890,7 +902,7 @@
     std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
     base::test::TestFuture<void> worklet_available;
     auction_worklet_manager_->RequestBidderWorklet(
-        decision_logic_url, /*wasm_url=*/std::nullopt,
+        kAuction1, decision_logic_url, /*wasm_url=*/std::nullopt,
         /*trusted_bidding_signals_url=*/std::nullopt,
         /*needs_cors_for_additional_bid=*/false,
         /*experiment_group_id=*/std::nullopt,
@@ -926,7 +938,7 @@
   base::test::TestFuture<void> worklet_available2;
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -980,7 +992,8 @@
     std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
     base::test::TestFuture<void> worklet_available;
     auction_worklet_manager_->RequestSellerWorklet(
-        decision_logic_url, /*trusted_scoring_signals_url=*/std::nullopt,
+        kAuction1, decision_logic_url,
+        /*trusted_scoring_signals_url=*/std::nullopt,
         /*experiment_group_id=*/std::nullopt, worklet_available.GetCallback(),
         NeverInvokedFatalErrorCallback(), handle);
     ASSERT_TRUE(worklet_available.Wait());
@@ -1011,7 +1024,7 @@
   base::RunLoop worklet_available_loop;
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt,
       worklet_available_loop.QuitClosure(), NeverInvokedFatalErrorCallback(),
       handle);
@@ -1048,7 +1061,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1;
   base::test::TestFuture<void> worklet_available1;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1066,13 +1079,15 @@
   bidder_worklet1->WaitForSendPendingSignalsRequests(1);
   // Should only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting());
+  EXPECT_THAT(handle1->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction1));
 
   // Load a bidder worklet with the same parameters. The worklet should be
   // reused.
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction2, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1085,18 +1100,24 @@
   bidder_worklet1->WaitForSendPendingSignalsRequests(2);
   // Should still only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting());
+  // ... but used by both auctions.
+  EXPECT_THAT(handle2->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction1, kAuction2));
 
   // Close original handle. Worklet should still be alive, and so should its
   // process.
   handle1.reset();
   EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting());
+  // We should no longer attribute its work to the first auction, however.
+  EXPECT_THAT(handle2->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction2));
 
   // Load a bidder worklet with the same parameters. The worklet should still be
   // reused again.
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle3;
   base::test::TestFuture<void> worklet_available3;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction3, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1109,6 +1130,8 @@
   bidder_worklet1->WaitForSendPendingSignalsRequests(3);
   // Should still only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting());
+  EXPECT_THAT(handle3->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction2, kAuction3));
 
   // Close both remaining handles.
   handle2.reset();
@@ -1122,7 +1145,7 @@
   base::test::TestFuture<void> worklet_available4;
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle4;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction4, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1139,6 +1162,8 @@
   handle4->GetBidderWorklet()->SendPendingSignalsRequests();
   bidder_worklet2->WaitForSendPendingSignalsRequests(1);
   EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting());
+  EXPECT_THAT(handle4->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction4));
 }
 
 // Test that requests with the same parameters reuse seller worklets.
@@ -1147,7 +1172,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1;
   base::test::TestFuture<void> worklet_available1;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available1.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle1);
   ASSERT_TRUE(worklet_available1.Wait());
@@ -1161,13 +1186,15 @@
   seller_worklet1->WaitForSendPendingSignalsRequests(1);
   // Should only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetSellerProcessCountForTesting());
+  EXPECT_THAT(handle1->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction1));
 
   // Load a seller worklet with the same parameters. The worklet should be
   // reused.
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction2, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available2.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle2);
   ASSERT_TRUE(worklet_available2.Wait());
@@ -1177,18 +1204,24 @@
   seller_worklet1->WaitForSendPendingSignalsRequests(2);
   // Should still only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetSellerProcessCountForTesting());
+  // ... but used by both auctions.
+  EXPECT_THAT(handle2->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction1, kAuction2));
 
   // Close original handle. Worklet should still be alive, and so should its
   // process.
   handle1.reset();
   EXPECT_EQ(1u, auction_process_manager_.GetSellerProcessCountForTesting());
+  // We should no longer attribute its work to the first auction, however.
+  EXPECT_THAT(handle2->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction2));
 
   // Load a seller worklet with the same parameters. The worklet should still be
   // reused again.
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle3;
   base::test::TestFuture<void> worklet_available3;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction3, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available3.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle3);
   ASSERT_TRUE(worklet_available3.Wait());
@@ -1198,6 +1231,8 @@
   seller_worklet1->WaitForSendPendingSignalsRequests(3);
   // Should still only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetSellerProcessCountForTesting());
+  EXPECT_THAT(handle2->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction2, kAuction3));
 
   // Close both remaining handles.
   handle2.reset();
@@ -1211,7 +1246,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle4;
   base::test::TestFuture<void> worklet_available4;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction4, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available4.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle4);
   ASSERT_TRUE(worklet_available4.Wait());
@@ -1225,6 +1260,8 @@
   handle4->GetSellerWorklet()->SendPendingSignalsRequests();
   seller_worklet2->WaitForSendPendingSignalsRequests(1);
   EXPECT_EQ(1u, auction_process_manager_.GetSellerProcessCountForTesting());
+  EXPECT_THAT(handle4->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction4));
 }
 
 // Make sure that worklets are not reused when parameters don't match.
@@ -1233,7 +1270,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1;
   base::test::TestFuture<void> worklet_available1;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1249,6 +1286,8 @@
   EXPECT_EQ(kTopWindowOrigin, bidder_worklet1->top_window_origin());
   // Should only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting());
+  EXPECT_THAT(handle1->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction1));
 
   // Load a bidder worklet with a different decision logic URL. A new worklet
   // should be created, using the same process.
@@ -1257,7 +1296,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDifferentDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction2, kDifferentDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1274,13 +1313,15 @@
   EXPECT_EQ(kTopWindowOrigin, bidder_worklet2->top_window_origin());
   // Should still only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting());
+  EXPECT_THAT(handle2->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction2));
 
   // Load a bidder worklet with a different (null) trusted signals URL. A new
   // worklet should be created, using the same process.
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle3;
   base::test::TestFuture<void> worklet_available3;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl,
+      kAuction3, kDecisionLogicUrl, kWasmUrl,
       /*trusted_bidding_signals_url=*/std::nullopt,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
@@ -1299,13 +1340,16 @@
   EXPECT_EQ(kTopWindowOrigin, bidder_worklet3->top_window_origin());
   // Should still only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting());
+  EXPECT_THAT(handle3->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction3));
 
   // Load a bidder worklet with a different (null) wasm helper URL. A new
   // worklet should be created, using the same process.
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle4;
   base::test::TestFuture<void> worklet_available4;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, /*wasm_url=*/std::nullopt, kTrustedSignalsUrl,
+      kAuction4, kDecisionLogicUrl, /*wasm_url=*/std::nullopt,
+      kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1323,6 +1367,8 @@
   EXPECT_EQ(kTopWindowOrigin, bidder_worklet4->top_window_origin());
   // Should still only be one process.
   EXPECT_EQ(1u, auction_process_manager_.GetBidderProcessCountForTesting());
+  EXPECT_THAT(handle4->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction4));
 }
 
 // Test bidder worklet matching with different experiment IDs.
@@ -1333,7 +1379,7 @@
   base::test::TestFuture<void> worklet_available1;
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false, kExperiment1,
       /*trusted_bidding_signals_slot_size_param=*/"",
       worklet_available1.GetCallback(), NeverInvokedFatalErrorCallback(),
@@ -1348,7 +1394,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction2, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false, kExperiment2,
       /*trusted_bidding_signals_slot_size_param=*/"",
       worklet_available2.GetCallback(), NeverInvokedFatalErrorCallback(),
@@ -1363,7 +1409,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle3;
   base::test::TestFuture<void> worklet_available3;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kWasmUrl,
+      kAuction3, kDecisionLogicUrl, kWasmUrl, kWasmUrl,
       /*needs_cors_for_additional_bid=*/false, kExperiment1,
       /*trusted_bidding_signals_slot_size_param=*/"",
       worklet_available3.GetCallback(), NeverInvokedFatalErrorCallback(),
@@ -1380,7 +1426,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle4;
   base::test::TestFuture<void> worklet_available4;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl,
+      kAuction4, kDecisionLogicUrl, kWasmUrl,
       /*trusted_bidding_signals_url=*/std::nullopt,
       /*needs_cors_for_additional_bid=*/false, kExperiment1,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1397,7 +1443,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle5;
   base::test::TestFuture<void> worklet_available5;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl,
+      kAuction5, kDecisionLogicUrl, kWasmUrl,
       /*trusted_bidding_signals_url=*/std::nullopt,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
@@ -1407,6 +1453,8 @@
   ASSERT_TRUE(worklet_available5.Wait());
   EXPECT_TRUE(handle5->GetBidderWorklet());
   EXPECT_EQ(handle5->GetBidderWorklet(), handle4->GetBidderWorklet());
+  EXPECT_THAT(handle4->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction4, kAuction5));
 }
 
 // Test bidder worklet matching with different CORS mode.
@@ -1414,7 +1462,7 @@
   base::test::TestFuture<void> worklet_available1;
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1430,7 +1478,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/true,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1449,7 +1497,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1;
   base::test::TestFuture<void> worklet_available1;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available1.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle1);
   ASSERT_TRUE(worklet_available1.Wait());
@@ -1469,7 +1517,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDifferentDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDifferentDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available2.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle2);
   ASSERT_TRUE(worklet_available2.Wait());
@@ -1488,7 +1536,8 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle3;
   base::test::TestFuture<void> worklet_available3;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, /*trusted_scoring_signals_url=*/std::nullopt,
+      kAuction1, kDecisionLogicUrl,
+      /*trusted_scoring_signals_url=*/std::nullopt,
       /*experiment_group_id=*/std::nullopt, worklet_available3.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle3);
   ASSERT_TRUE(worklet_available3.Wait());
@@ -1512,7 +1561,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle1;
   base::test::TestFuture<void> worklet_available1;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl, kExperiment1,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl, kExperiment1,
       worklet_available1.GetCallback(), NeverInvokedFatalErrorCallback(),
       handle1);
   ASSERT_TRUE(worklet_available1.Wait());
@@ -1525,7 +1574,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl, kExperiment2,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl, kExperiment2,
       worklet_available2.GetCallback(), NeverInvokedFatalErrorCallback(),
       handle2);
   ASSERT_TRUE(worklet_available2.Wait());
@@ -1538,7 +1587,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle3;
   base::test::TestFuture<void> worklet_available3;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kWasmUrl, kExperiment1,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kExperiment1,
       worklet_available3.GetCallback(), NeverInvokedFatalErrorCallback(),
       handle3);
   ASSERT_TRUE(worklet_available3.Wait());
@@ -1554,9 +1603,10 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle4;
   base::test::TestFuture<void> worklet_available4;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, /*trusted_scoring_signals_url=*/std::nullopt,
-      kExperiment1, worklet_available4.GetCallback(),
-      NeverInvokedFatalErrorCallback(), handle4);
+      kAuction1, kDecisionLogicUrl,
+      /*trusted_scoring_signals_url=*/std::nullopt, kExperiment1,
+      worklet_available4.GetCallback(), NeverInvokedFatalErrorCallback(),
+      handle4);
   ASSERT_TRUE(worklet_available4.Wait());
   EXPECT_TRUE(handle4->GetSellerWorklet());
   std::unique_ptr<MockSellerWorklet> seller_worklet4 =
@@ -1568,7 +1618,8 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle5;
   base::test::TestFuture<void> worklet_available5;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, /*trusted_scoring_signals_url=*/std::nullopt,
+      kAuction1, kDecisionLogicUrl,
+      /*trusted_scoring_signals_url=*/std::nullopt,
       /*experiment_group_id=*/std::nullopt, worklet_available5.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle5);
   ASSERT_TRUE(worklet_available5.Wait());
@@ -1589,7 +1640,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1619,7 +1670,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction2, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1629,6 +1680,8 @@
   EXPECT_NE(handle->GetBidderWorklet(), handle2->GetBidderWorklet());
   std::unique_ptr<MockBidderWorklet> bidder_worklet2 =
       auction_process_manager_.WaitForBidderWorklet();
+  EXPECT_THAT(handle2->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction2));
 }
 
 // Make sure that errors that occur when some worklets haven't gotten
@@ -1649,7 +1702,7 @@
   for (size_t i = 0; i < kNumWorklets; ++i) {
     handles.emplace_back();
     auction_worklet_manager_->RequestBidderWorklet(
-        kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+        kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
         /*needs_cors_for_additional_bid=*/false,
         /*experiment_group_id=*/std::nullopt,
         /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1695,7 +1748,7 @@
   for (size_t i = 0; i < kNumWorklets; ++i) {
     handles.emplace_back();
     auction_worklet_manager_->RequestBidderWorklet(
-        kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+        kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
         /*needs_cors_for_additional_bid=*/false,
         /*experiment_group_id=*/std::nullopt,
         /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1728,7 +1781,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available.GetCallback(),
       load_error_helper.Callback(), handle);
   ASSERT_TRUE(worklet_available.Wait());
@@ -1756,7 +1809,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available2.GetCallback(),
       load_error_helper.Callback(), handle2);
   ASSERT_TRUE(worklet_available2.Wait());
@@ -1772,7 +1825,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1804,7 +1857,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1822,7 +1875,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available.GetCallback(),
       load_error_helper.Callback(), handle);
   ASSERT_TRUE(worklet_available.Wait());
@@ -1852,7 +1905,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle2;
   base::test::TestFuture<void> worklet_available2;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction2, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available2.GetCallback(),
       load_error_helper.Callback(), handle2);
   ASSERT_TRUE(worklet_available2.Wait());
@@ -1860,6 +1913,8 @@
   EXPECT_NE(handle->GetSellerWorklet(), handle2->GetSellerWorklet());
   std::unique_ptr<MockSellerWorklet> seller_worklet2 =
       auction_process_manager_.WaitForSellerWorklet();
+  EXPECT_THAT(handle2->GetDevtoolsAuctionIdsForTesting(),
+              UnorderedElementsAre(kAuction2));
 }
 
 // Test reentrant deletion of a WorkletHandle on error.
@@ -1871,7 +1926,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1914,7 +1969,7 @@
   for (int i = 0; i < 10; ++i) {
     handles.emplace_back();
     auction_worklet_manager_->RequestBidderWorklet(
-        kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+        kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
         /*needs_cors_for_additional_bid=*/false,
         /*experiment_group_id=*/std::nullopt,
         /*trusted_bidding_signals_slot_size_param=*/"",
@@ -1969,7 +2024,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available.GetCallback(),
       base::BindLambdaForTesting(
           [&](AuctionWorkletManager::FatalErrorType fatal_error_type,
@@ -1997,7 +2052,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestBidderWorklet(
-      kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kWasmUrl, kTrustedSignalsUrl,
       /*needs_cors_for_additional_bid=*/false,
       /*experiment_group_id=*/std::nullopt,
       /*trusted_bidding_signals_slot_size_param=*/"",
@@ -2063,7 +2118,7 @@
   std::unique_ptr<AuctionWorkletManager::WorkletHandle> handle;
   base::test::TestFuture<void> worklet_available;
   auction_worklet_manager_->RequestSellerWorklet(
-      kDecisionLogicUrl, kTrustedSignalsUrl,
+      kAuction1, kDecisionLogicUrl, kTrustedSignalsUrl,
       /*experiment_group_id=*/std::nullopt, worklet_available.GetCallback(),
       NeverInvokedFatalErrorCallback(), handle);
   ASSERT_TRUE(worklet_available.Wait());
diff --git a/content/browser/interest_group/devtools_enums.h b/content/browser/interest_group/devtools_enums.h
index 6a67be75..a687d91 100644
--- a/content/browser/interest_group/devtools_enums.h
+++ b/content/browser/interest_group/devtools_enums.h
@@ -9,6 +9,14 @@
 
 enum class InterestGroupAuctionEventType { kStarted, kConfigResolved };
 
+enum class InterestGroupAuctionFetchType {
+  kBidderJs,
+  kBidderWasm,
+  kSellerJs,
+  kBidderTrustedSignals,
+  kSellerTrustedSignals
+};
+
 }  // namespace content
 
 #endif  // CONTENT_BROWSER_INTEREST_GROUP_DEVTOOLS_ENUMS_H_
diff --git a/content/browser/interest_group/interest_group_auction.cc b/content/browser/interest_group/interest_group_auction.cc
index e146c1e..71adc6a 100644
--- a/content/browser/interest_group/interest_group_auction.cc
+++ b/content/browser/interest_group/interest_group_auction.cc
@@ -1039,7 +1039,7 @@
       auto worklet_key = auction_->BidderWorkletKey(*bid_state);
       auction_->auction_metrics_recorder_->ReportBidderWorkletKey(worklet_key);
       auction_->auction_worklet_manager_->RequestWorkletByKey(
-          worklet_key,
+          worklet_key, auction_->devtools_auction_id_,
           base::BindOnce(&BuyerHelper::OnBidderWorkletReceived,
                          base::Unretained(this), bid_state.get()),
           base::BindOnce(&BuyerHelper::OnBidderWorkletGenerateBidFatalError,
@@ -3863,8 +3863,8 @@
   TRACE_EVENT_NESTABLE_ASYNC_BEGIN0("fledge", "request_seller_worklet",
                                     *trace_id_);
   auction_worklet_manager_->RequestSellerWorklet(
-      *config_->decision_logic_url, config_->trusted_scoring_signals_url,
-      config_->seller_experiment_group_id,
+      devtools_auction_id_, *config_->decision_logic_url,
+      config_->trusted_scoring_signals_url, config_->seller_experiment_group_id,
       base::BindOnce(&InterestGroupAuction::OnSellerWorkletReceived,
                      base::Unretained(this)),
       base::BindOnce(&InterestGroupAuction::OnSellerWorkletFatalError,
diff --git a/content/browser/interest_group/interest_group_auction_reporter.cc b/content/browser/interest_group/interest_group_auction_reporter.cc
index fcc4921..96a2d05 100644
--- a/content/browser/interest_group/interest_group_auction_reporter.cc
+++ b/content/browser/interest_group/interest_group_auction_reporter.cc
@@ -392,7 +392,7 @@
   // `seller_worklet_handle_` will prevent the callbacks from being invoked, if
   // `this` is destroyed while still waiting on the callbacks.
   auction_worklet_manager_->RequestSellerWorklet(
-      *seller_info->auction_config->decision_logic_url,
+      devtools_auction_id_, *seller_info->auction_config->decision_logic_url,
       seller_info->auction_config->trusted_scoring_signals_url,
       seller_info->auction_config->seller_experiment_group_id,
       base::BindOnce(&InterestGroupAuctionReporter::OnSellerWorkletReceived,
@@ -679,7 +679,7 @@
   // `bidder_worklet_handle_` will prevent the callbacks from being invoked, if
   // `this` is destroyed while still waiting on the callbacks.
   auction_worklet_manager_->RequestBidderWorklet(
-      interest_group.bidding_url.value_or(GURL()),
+      devtools_auction_id_, interest_group.bidding_url.value_or(GURL()),
       interest_group.bidding_wasm_helper_url,
       interest_group.trusted_bidding_signals_url,
       /*needs_cors_for_additional_bid=*/
diff --git a/content/browser/interest_group/interest_group_auction_reporter.h b/content/browser/interest_group/interest_group_auction_reporter.h
index 2fd5f1b..ca636bd 100644
--- a/content/browser/interest_group/interest_group_auction_reporter.h
+++ b/content/browser/interest_group/interest_group_auction_reporter.h
@@ -481,7 +481,7 @@
   // SellerWinningBidInfo, it points to an AuctionConfig contained within it.
   const std::unique_ptr<blink::AuctionConfig> auction_config_;
 
-  const std::optional<std::string> devtools_auction_id_;
+  const std::string devtools_auction_id_;
   const url::Origin main_frame_origin_;
   const url::Origin frame_origin_;
   const network::mojom::ClientSecurityStatePtr client_security_state_;
diff --git a/content/browser/renderer_host/navigation_controller_impl.cc b/content/browser/renderer_host/navigation_controller_impl.cc
index 0884099..1a7d7a8 100644
--- a/content/browser/renderer_host/navigation_controller_impl.cc
+++ b/content/browser/renderer_host/navigation_controller_impl.cc
@@ -4201,13 +4201,6 @@
 
   delegate_->NotifyNavigationStateChangedFromController(INVALIDATE_TYPE_ALL);
   delegate_->NotifyNavigationEntryCommitted(*details);
-
-  // TODO(avi): Remove. http://crbug.com/170921
-  NotificationDetails notification_details =
-      Details<LoadCommittedDetails>(details);
-  NotificationService::current()->Notify(NOTIFICATION_NAV_ENTRY_COMMITTED,
-                                         Source<NavigationController>(this),
-                                         notification_details);
 }
 
 // static
diff --git a/content/public/browser/notification_types.h b/content/public/browser/notification_types.h
index 42e1960..0bafc9c5 100644
--- a/content/public/browser/notification_types.h
+++ b/content/public/browser/notification_types.h
@@ -19,20 +19,6 @@
 namespace content {
 
 enum NotificationType {
-  NOTIFICATION_CONTENT_START = 0,
-
-  // NavigationController ----------------------------------------------------
-
-  // A new non-pending navigation entry has been created. This will
-  // correspond to one NavigationController entry being created (in the case
-  // of new navigations) or renavigated to (for back/forward navigations).
-  //
-  // The source will be the navigation controller doing the commit. The
-  // details will be NavigationController::LoadCommittedDetails.
-  // DEPRECATED: Use WebContentsObserver::NavigationEntryCommitted()
-  // TODO(https://crbug.com/1174760): Remove.
-  NOTIFICATION_NAV_ENTRY_COMMITTED = NOTIFICATION_CONTENT_START,
-
   // WebContents ---------------------------------------------------------------
 
   // Indicates a RenderWidgetHost has been hidden or restored. The source is
@@ -43,9 +29,6 @@
   // Use RenderWidgetHostObserver::RenderWidgetHostVisibilityChanged()
   // TODO(https://crbug.com/1174771): Remove.
   NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED,
-
-  // Custom notifications used by the embedder should start from here.
-  NOTIFICATION_CONTENT_END,
 };
 
 }  // namespace content
diff --git a/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt
index 34eb6fe..acc678a 100644
--- a/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/webgl2_conformance_expectations.txt
@@ -136,7 +136,7 @@
 
 # Extensions unavailable on Android.
 [ android ] WebglExtension_WEBGL_compressed_texture_pvrtc [ Skip ]
-crbug.com/1473838 [ android passthrough ] WebglExtension_EXT_blend_func_extended [ Skip ]
+crbug.com/1473838 [ android passthrough ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 crbug.com/1473838 [ android passthrough ] WebglExtension_EXT_conservative_depth [ Skip ]
 crbug.com/1473838 [ android passthrough ] WebglExtension_EXT_depth_clamp [ Skip ]
 crbug.com/1473838 [ android passthrough ] WebglExtension_EXT_polygon_offset_clamp [ Skip ]
@@ -148,7 +148,7 @@
 [ android qualcomm ] WebglExtension_WEBGL_compressed_texture_s3tc_srgb [ Skip ]
 
 # Extensions only available via passthrough decoder.
-[ no-passthrough ] WebglExtension_EXT_blend_func_extended [ Skip ]
+[ no-passthrough ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 [ no-passthrough ] WebglExtension_EXT_clip_control [ Skip ]
 [ no-passthrough ] WebglExtension_EXT_conservative_depth [ Skip ]
 [ no-passthrough ] WebglExtension_EXT_depth_clamp [ Skip ]
@@ -224,7 +224,7 @@
 crbug.com/1473838 [ chromeos chromeos-board-amd64-generic angle-opengles passthrough ] WebglExtension_WEBGL_render_shared_exponent [ Skip ]
 
 # Extensions not available on jacuzzi ChromeOS devices.
-crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_EXT_blend_func_extended [ Skip ]
+crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_EXT_clip_control [ Skip ]
 crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_EXT_conservative_depth [ Skip ]
 crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_EXT_depth_clamp [ Skip ]
@@ -385,7 +385,7 @@
 crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_NV_shader_noperspective_interpolation [ Skip ]
 crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_WEBGL_polygon_mode [ Skip ]
 crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough angle-opengles ] WebglExtension_WEBGL_render_shared_exponent [ Skip ]
-crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_EXT_blend_func_extended [ Skip ]
+crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 
 ###############################
 # Permanent Slow Expectations #
@@ -426,9 +426,6 @@
 crbug.com/angleproject/6245 [ desktop no-passthrough target-cpu-64 ] conformance/extensions/ext-texture-compression-rgtc.html [ Failure ]
 crbug.com/angleproject/6245 [ desktop no-passthrough target-cpu-64 ] conformance/extensions/s3tc-and-rgtc.html [ Failure ]
 crbug.com/angleproject/6245 [ desktop no-passthrough target-cpu-64 ] conformance/extensions/webgl-compressed-texture-s3tc-srgb.html [ Failure ]
-# finder:disable-narrowing Intentionally broad to suppress failures until validating decoder is removed.
-crbug.com/1473838 [ no-passthrough ] conformance2/extensions/ext-blend-func-extended.html [ Failure ]
-# finder:enable-narrowing
 
 # Failing on some platforms.
 crbug.com/1175371 [ angle-opengl display-server-x linux passthrough ] conformance/extensions/khr-parallel-shader-compile.html [ Failure ]
diff --git a/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt b/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
index 8cd3e4f1..f5066257 100644
--- a/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
+++ b/content/test/gpu/gpu_tests/test_expectations/webgl_conformance_expectations.txt
@@ -141,7 +141,7 @@
 crbug.com/angleproject/3031 [ win angle-opengl passthrough ] WebglExtension_KHR_parallel_shader_compile [ Skip ]
 
 # Extensions not available with SwiftShader
-[ passthrough angle-swiftshader ] WebglExtension_EXT_blend_func_extended [ Skip ]
+[ passthrough angle-swiftshader ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 crbug.com/1099955 [ angle-swiftshader linux ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
 crbug.com/1099955 [ angle-swiftshader mac   ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
 crbug.com/1099955 [ angle-swiftshader win   ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
@@ -152,7 +152,7 @@
 crbug.com/1099955 [ angle-swiftshader win   ] WebglExtension_EXT_texture_compression_bptc [ Skip ]
 
 # Extensions not available under D3D9
-[ win passthrough angle-d3d9 ] WebglExtension_EXT_blend_func_extended [ Skip ]
+[ win passthrough angle-d3d9 ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 [ win passthrough angle-d3d9 ] WebglExtension_EXT_clip_control [ Skip ]
 [ win passthrough angle-d3d9 ] WebglExtension_EXT_depth_clamp [ Skip ]
 crbug.com/867718 [ win passthrough angle-d3d9 ] WebglExtension_EXT_disjoint_timer_query [ Skip ]
@@ -164,7 +164,7 @@
 [ win passthrough angle-d3d9 ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
 
 # Extensions only available via passthrough decoder
-[ no-passthrough ] WebglExtension_EXT_blend_func_extended [ Skip ]
+[ no-passthrough ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 [ no-passthrough ] WebglExtension_EXT_clip_control [ Skip ]
 [ no-passthrough ] WebglExtension_EXT_depth_clamp [ Skip ]
 [ no-passthrough ] WebglExtension_EXT_polygon_offset_clamp [ Skip ]
@@ -179,8 +179,8 @@
 [ android ] WebglExtension_EXT_frag_depth [ Skip ]
 [ android ] WebglExtension_WEBGL_compressed_texture_pvrtc [ Skip ]
 [ android ] WebglExtension_WEBGL_compressed_texture_s3tc [ Skip ]
-crbug.com/1473838 [ android angle-opengles passthrough ] WebglExtension_EXT_blend_func_extended [ Skip ]
-crbug.com/1473838 [ android angle-vulkan passthrough ] WebglExtension_EXT_blend_func_extended [ Skip ]
+crbug.com/1473838 [ android angle-opengles passthrough ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
+crbug.com/1473838 [ android angle-vulkan passthrough ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 crbug.com/1473838 [ android passthrough ] WebglExtension_EXT_depth_clamp [ Skip ]
 crbug.com/1473838 [ android passthrough ] WebglExtension_EXT_polygon_offset_clamp [ Skip ]
 crbug.com/1473838 [ android passthrough ] WebglExtension_EXT_texture_mirror_clamp_to_edge [ Skip ]
@@ -221,7 +221,7 @@
 crbug.com/1473838 [ chromeos passthrough ] WebglExtension_WEBGL_polygon_mode [ Skip ]
 
 # Extensions not available on jacuzzi ChromeOS devices.
-crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi passthrough angle-opengles ] WebglExtension_EXT_blend_func_extended [ Skip ]
+crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi passthrough angle-opengles ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_EXT_clip_control [ Skip ]
 crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi ] WebglExtension_EXT_color_buffer_half_float [ Skip ]
 crbug.com/1486664 [ chromeos cros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_EXT_depth_clamp [ Skip ]
@@ -249,7 +249,7 @@
 [ fuchsia web-engine-shell ] WebglExtension_EXT_texture_compression_rgtc [ Skip ]
 [ fuchsia web-engine-shell passthrough ] WebglExtension_WEBGL_polygon_mode [ Skip ]
 [ fuchsia web-engine-shell passthrough ] WebglExtension_EXT_depth_clamp [ Skip ]
-[ fuchsia web-engine-shell passthrough angle-vulkan ] WebglExtension_EXT_blend_func_extended [ Skip ]
+[ fuchsia web-engine-shell passthrough angle-vulkan ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 
 # Disabling as they cannot pass with protected memory.
 crbug.com/1417006 [ fuchsia web-engine-shell ] conformance/textures/image_bitmap_from_video/tex-2d-luminance-luminance-unsigned_byte.html [ Skip ]
@@ -377,7 +377,7 @@
 crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_EXT_depth_clamp [ Skip ]
 crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough ] WebglExtension_EXT_polygon_offset_clamp [ Skip ]
 crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough angle-opengles ] WebglExtension_KHR_parallel_shader_compile [ Skip ]
-crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough angle-opengles ] WebglExtension_EXT_blend_func_extended [ Skip ]
+crbug.com/1473838 [ chromeos lacros-chrome chromeos-board-jacuzzi passthrough angle-opengles ] WebglExtension_WEBGL_blend_func_extended [ Skip ]
 
 ###############################
 # Permanent Slow Expectations #
@@ -402,7 +402,6 @@
 crbug.com/angleproject/6245 [ no-passthrough ] conformance/extensions/ext-texture-compression-rgtc.html [ Failure ]
 crbug.com/angleproject/6245 [ no-passthrough ] conformance/extensions/s3tc-and-rgtc.html [ Failure ]
 crbug.com/angleproject/6245 [ no-passthrough ] conformance/extensions/webgl-compressed-texture-s3tc-srgb.html [ Failure ]
-crbug.com/1473838 [ no-passthrough ] conformance/extensions/ext-blend-func-extended.html [ Failure ]
 # finder:enable-narrowing
 
 # Failing on most platforms. Only runs with passthrough.
diff --git a/content/test/gpu/gpu_tests/webgl1_conformance_integration_test.py b/content/test/gpu/gpu_tests/webgl1_conformance_integration_test.py
index 11a408a..45baa82 100644
--- a/content/test/gpu/gpu_tests/webgl1_conformance_integration_test.py
+++ b/content/test/gpu/gpu_tests/webgl1_conformance_integration_test.py
@@ -35,7 +35,6 @@
   def _GetExtensionList(cls) -> List[str]:
     return [
         'ANGLE_instanced_arrays',
-        'EXT_blend_func_extended',
         'EXT_blend_minmax',
         'EXT_clip_control',
         'EXT_color_buffer_half_float',
@@ -59,6 +58,7 @@
         'OES_texture_half_float',
         'OES_texture_half_float_linear',
         'OES_vertex_array_object',
+        'WEBGL_blend_func_extended',
         'WEBGL_color_buffer_float',
         'WEBGL_compressed_texture_astc',
         'WEBGL_compressed_texture_etc',
diff --git a/content/test/gpu/gpu_tests/webgl2_conformance_integration_test.py b/content/test/gpu/gpu_tests/webgl2_conformance_integration_test.py
index 8050b1d..430eb74 100644
--- a/content/test/gpu/gpu_tests/webgl2_conformance_integration_test.py
+++ b/content/test/gpu/gpu_tests/webgl2_conformance_integration_test.py
@@ -34,7 +34,6 @@
   @classmethod
   def _GetExtensionList(cls) -> List[str]:
     return [
-        'EXT_blend_func_extended',
         'EXT_clip_control',
         'EXT_color_buffer_float',
         'EXT_color_buffer_half_float',
@@ -56,6 +55,7 @@
         'OES_shader_multisample_interpolation',
         'OES_texture_float_linear',
         'OVR_multiview2',
+        'WEBGL_blend_func_extended',
         'WEBGL_clip_cull_distance',
         'WEBGL_compressed_texture_astc',
         'WEBGL_compressed_texture_etc',
diff --git a/docs/updater/functional_spec.md b/docs/updater/functional_spec.md
index c7f1d86..06f72b94 100644
--- a/docs/updater/functional_spec.md
+++ b/docs/updater/functional_spec.md
@@ -1118,6 +1118,9 @@
 
 Background updates can be disabled entirely through policy.
 
+Users can trigger an immediate run of the periodic tasks by calling the
+RunPeriodicTasks RPC, even for a system updater.
+
 #### Windows Scheduling of Updates
 The update wake task is scheduled using the OS task scheduler.
 
diff --git a/docs/website b/docs/website
index dd7e754..571effb 160000
--- a/docs/website
+++ b/docs/website
@@ -1 +1 @@
-Subproject commit dd7e7541ade7cd1a535906494f87332575b3ac1f
+Subproject commit 571effba5104c0cf7b0396dd924ad03d409b7209
diff --git a/extensions/browser/api/automation_internal/automation_internal_api.cc b/extensions/browser/api/automation_internal/automation_internal_api.cc
index 7a58def..4c6e64e4 100644
--- a/extensions/browser/api/automation_internal/automation_internal_api.cc
+++ b/extensions/browser/api/automation_internal/automation_internal_api.cc
@@ -577,7 +577,7 @@
 ExtensionFunction::ResponseAction
 AutomationInternalPerformActionFunction::Run() {
   const AutomationInfo* automation_info = AutomationInfo::Get(extension());
-  EXTENSION_FUNCTION_VALIDATE(automation_info && automation_info->interact);
+  EXTENSION_FUNCTION_VALIDATE(automation_info && automation_info->desktop);
 
   using api::automation_internal::PerformAction::Params;
   std::optional<Params> params = Params::Create(args());
diff --git a/extensions/browser/api/feedback_private/feedback_private_api.cc b/extensions/browser/api/feedback_private/feedback_private_api.cc
index f66b431f..827d45e 100644
--- a/extensions/browser/api/feedback_private/feedback_private_api.cc
+++ b/extensions/browser/api/feedback_private/feedback_private_api.cc
@@ -279,9 +279,15 @@
   if (from_chrome_labs_or_kaleidoscope) {
     info->product_id = kChromeLabsAndKaleidoscopeProductId;
   } else if (info->flow == FeedbackFlow::kAi) {
-    // Use Chrome browser product id for all platforms including ChromeOS in
-    // this flow.
+    // Use Chrome browser product id for all platforms including ChromeOS by
+    // default.
     info->product_id = FeedbackCommon::GetChromeBrowserProductId();
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+    // Use ChromeOS product id for ChromeOS AI wallpaper and VC backgrounds.
+    if (ai_metadata.contains("from_chromeos")) {
+      info->product_id = FeedbackCommon::GetChromeOSProductId();
+    }
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
   }
 
   return info;
diff --git a/extensions/browser/api/feedback_private/feedback_private_api_chromeos_unittest.cc b/extensions/browser/api/feedback_private/feedback_private_api_chromeos_unittest.cc
index c769b9a0..ee7ba8f 100644
--- a/extensions/browser/api/feedback_private/feedback_private_api_chromeos_unittest.cc
+++ b/extensions/browser/api/feedback_private/feedback_private_api_chromeos_unittest.cc
@@ -752,6 +752,22 @@
 
   EXPECT_EQ(FeedbackCommon::GetChromeBrowserProductId(),
             feedback_info->product_id);
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+  auto chromeos_ai_metadata = base::Value::Dict();
+  chromeos_ai_metadata.Set("from_chromeos", "true");
+  feedback_info = api->CreateFeedbackInfo(
+      /*description_template=*/unused, /*description_placeholder_text=*/unused,
+      /*category_tag=*/unused, /*extra_diagnostics=*/unused,
+      /*page_url=*/GURL(),
+      /*flow=*/api::feedback_private::FeedbackFlow::kAi,
+      /*from_assistant=*/false, /*include_bluetooth_logs=*/false,
+      /*show_questionnaire=*/false, /*from_chrome_labs_or_kaleidoscope=*/false,
+      /*from_autofill=*/false, /*autofill_metadata=*/base::Value::Dict(),
+      chromeos_ai_metadata);
+
+  EXPECT_EQ(FeedbackCommon::GetChromeOSProductId(), feedback_info->product_id);
+#endif  // BUILDFLAG(IS_CHROMEOS_ASH)
 }
 
 }  // namespace extensions
diff --git a/extensions/browser/process_manager.cc b/extensions/browser/process_manager.cc
index 1ef89b2..399eba92 100644
--- a/extensions/browser/process_manager.cc
+++ b/extensions/browser/process_manager.cc
@@ -869,9 +869,14 @@
   // Example of when kWorkerNotRunning can happen is when the renderer process
   // is killed while handling a service worker request (e.g. because of a bad
   // IPC message).
+  // kNullContext can occur if the keepalive is being removed during browser
+  // context tear-down, since the ServiceWorkerContext can shut down before
+  // the ProcessManager.
   DCHECK((finish_result == content::ServiceWorkerExternalRequestResult::kOk) ||
          (finish_result ==
-          content::ServiceWorkerExternalRequestResult::kWorkerNotRunning))
+          content::ServiceWorkerExternalRequestResult::kWorkerNotRunning) ||
+         (finish_result ==
+          content::ServiceWorkerExternalRequestResult::kNullContext))
       << "; result = " << static_cast<int>(finish_result);
 }
 
diff --git a/extensions/common/api/_api_features.json b/extensions/common/api/_api_features.json
index ff126e6a..18fe712 100644
--- a/extensions/common/api/_api_features.json
+++ b/extensions/common/api/_api_features.json
@@ -354,6 +354,7 @@
       "chrome://tab-search.top-chrome/*",
       "chrome://tab-strip.top-chrome/*",
       "chrome://welcome/*",
+      "chrome://vc-background/*",
       "chrome://app-settings/*",
       "chrome://compose/*"
     ]
diff --git a/extensions/common/api/extensions_manifest_types.json b/extensions/common/api/extensions_manifest_types.json
index bb9c9299..eabe210 100644
--- a/extensions/common/api/extensions_manifest_types.json
+++ b/extensions/common/api/extensions_manifest_types.json
@@ -28,11 +28,6 @@
                 "optional": true,
                 "type": "array",
                 "items": { "type": "string" }
-              },
-              "interact": {
-                "description": "Whether the extension is allowed interactive access (true) or read-only access (false; default) to the automation tree.",
-                "optional": true,
-                "type": "boolean"
               }
             }
           }
diff --git a/extensions/common/manifest_constants.h b/extensions/common/manifest_constants.h
index ff2f450..fad166ff 100644
--- a/extensions/common/manifest_constants.h
+++ b/extensions/common/manifest_constants.h
@@ -378,6 +378,8 @@
     "Invalid value for 'content_scripts[*].exclude_matches'.";
 inline constexpr char kInvalidExportPermissions[] =
     "Permissions are not allowed for extensions that export resources.";
+inline constexpr char kInvalidExportAllowlistEmpty[] =
+    "Empty 'export.allowlist' implies any extension can import this module.";
 inline constexpr char kInvalidExportAllowlistString[] =
     "Invalid value for 'export.allowlist[*]'.";
 inline constexpr char kInvalidExtensionOriginPopup[] =
@@ -435,6 +437,9 @@
 inline constexpr char kInvalidImportId[] = "Invalid value for 'import[*].id'.";
 inline constexpr char kInvalidImportVersion[] =
     "Invalid value for 'import[*].minimum_version'.";
+inline constexpr char kInvalidImportRepeatedImport[] =
+    "There are multiple occurences of the same extension ID in 'import'. Only "
+    "one version will be installed.";
 inline constexpr char kInvalidInputComponents[] =
     "Invalid value for 'input_components'";
 inline constexpr char16_t kInvalidInputComponents16[] =
diff --git a/extensions/common/manifest_handlers/automation.cc b/extensions/common/manifest_handlers/automation.cc
index f920386..3f8b7e5 100644
--- a/extensions/common/manifest_handlers/automation.cc
+++ b/extensions/common/manifest_handlers/automation.cc
@@ -26,9 +26,6 @@
 namespace extensions {
 
 namespace automation_errors {
-const char kErrorDesktopTrueInteractFalse[] =
-    "Cannot specify interactive=false if desktop=true is specified; "
-    "interactive=false will be ignored.";
 const char kErrorDesktopTrueMatchesSpecified[] =
     "Cannot specify matches for Automation if desktop=true is specified; "
     "matches will be ignored.";
@@ -86,11 +83,7 @@
   if (automation_info_->desktop) {
     permissions.insert(APIPermissionID::kFullAccess);
   } else if (automation_info_->matches.MatchesAllURLs()) {
-    if (automation_info_->interact) {
-      permissions.insert(APIPermissionID::kHostsAll);
-    } else {
-      permissions.insert(APIPermissionID::kHostsAllReadOnly);
-    }
+    permissions.insert(APIPermissionID::kHostsAll);
   } else {
     // Check if we get any additional permissions from FilterHostPermissions.
     URLPatternSet regular_hosts;
@@ -98,11 +91,9 @@
         automation_info_->matches, &regular_hosts, &permissions);
     std::set<std::string> hosts =
         permission_message_util::GetDistinctHosts(regular_hosts, true, true);
-    APIPermissionID permission_id = automation_info_->interact
-                                        ? APIPermissionID::kHostReadWrite
-                                        : APIPermissionID::kHostReadOnly;
     for (const auto& host : hosts)
-      permissions.insert(permission_id, base::UTF8ToUTF16(host));
+      permissions.insert(APIPermissionID::kHostReadOnly,
+                         base::UTF8ToUTF16(host));
   }
   return permissions;
 }
@@ -125,12 +116,10 @@
       static_cast<const AutomationManifestPermission*>(rhs);
 
   bool desktop = automation_info_->desktop && !other->automation_info_->desktop;
-  bool interact =
-      automation_info_->interact && !other->automation_info_->interact;
   URLPatternSet matches = URLPatternSet::CreateDifference(
       automation_info_->matches, other->automation_info_->matches);
   return std::make_unique<AutomationManifestPermission>(
-      base::WrapUnique(new const AutomationInfo(desktop, matches, interact)));
+      base::WrapUnique(new const AutomationInfo(desktop, matches)));
 }
 
 std::unique_ptr<ManifestPermission> AutomationManifestPermission::Union(
@@ -139,12 +128,10 @@
       static_cast<const AutomationManifestPermission*>(rhs);
 
   bool desktop = automation_info_->desktop || other->automation_info_->desktop;
-  bool interact =
-      automation_info_->interact || other->automation_info_->interact;
   URLPatternSet matches = URLPatternSet::CreateUnion(
       automation_info_->matches, other->automation_info_->matches);
   return std::make_unique<AutomationManifestPermission>(
-      base::WrapUnique(new const AutomationInfo(desktop, matches, interact)));
+      base::WrapUnique(new const AutomationInfo(desktop, matches)));
 }
 
 std::unique_ptr<ManifestPermission> AutomationManifestPermission::Intersect(
@@ -153,13 +140,11 @@
       static_cast<const AutomationManifestPermission*>(rhs);
 
   bool desktop = automation_info_->desktop && other->automation_info_->desktop;
-  bool interact =
-      automation_info_->interact && other->automation_info_->interact;
   URLPatternSet matches = URLPatternSet::CreateIntersection(
       automation_info_->matches, other->automation_info_->matches,
       URLPatternSet::IntersectionBehavior::kStringComparison);
   return std::make_unique<AutomationManifestPermission>(
-      base::WrapUnique(new const AutomationInfo(desktop, matches, interact)));
+      base::WrapUnique(new const AutomationInfo(desktop, matches)));
 }
 
 bool AutomationManifestPermission::RequiresManagementUIWarning() const {
@@ -203,9 +188,8 @@
     const Extension* extension) {
   const AutomationInfo* info = AutomationInfo::Get(extension);
   if (info) {
-    return new AutomationManifestPermission(
-        base::WrapUnique(new const AutomationInfo(info->desktop, info->matches,
-                                                  info->interact)));
+    return new AutomationManifestPermission(base::WrapUnique(
+        new const AutomationInfo(info->desktop, info->matches)));
   }
   return nullptr;
 }
@@ -235,17 +219,8 @@
   const Automation::Object& automation_object = *automation->as_object;
 
   bool desktop = false;
-  bool interact = false;
   if (automation_object.desktop && *automation_object.desktop) {
     desktop = true;
-    interact = true;
-    if (automation_object.interact && !*automation_object.interact) {
-      // TODO(aboxhall): Do we want to allow this?
-      install_warnings->emplace_back(
-          automation_errors::kErrorDesktopTrueInteractFalse);
-    }
-  } else if (automation_object.interact && *automation_object.interact) {
-    interact = true;
   }
 
   URLPatternSet matches;
@@ -280,7 +255,7 @@
     install_warnings->emplace_back(automation_errors::kErrorNoMatchesProvided);
   }
 
-  return base::WrapUnique(new AutomationInfo(desktop, matches, interact));
+  return base::WrapUnique(new AutomationInfo(desktop, matches));
 }
 
 // static
@@ -293,26 +268,23 @@
 std::unique_ptr<Automation> AutomationInfo::AsManifestType(
     const AutomationInfo& info) {
   std::unique_ptr<Automation> automation(new Automation);
-  if (!info.desktop && !info.interact && info.matches.size() == 0) {
+  if (!info.desktop && info.matches.size() == 0) {
     automation->as_boolean = true;
     return automation;
   }
 
   automation->as_object.emplace();
   automation->as_object->desktop = info.desktop;
-  automation->as_object->interact = info.interact;
   if (info.matches.size() > 0)
     automation->as_object->matches = info.matches.ToStringVector();
 
   return automation;
 }
 
-AutomationInfo::AutomationInfo() : desktop(false), interact(false) {}
+AutomationInfo::AutomationInfo() : desktop(false) {}
 
-AutomationInfo::AutomationInfo(bool desktop,
-                               const URLPatternSet& matches,
-                               bool interact)
-    : desktop(desktop), matches(matches.Clone()), interact(interact) {}
+AutomationInfo::AutomationInfo(bool desktop, const URLPatternSet& matches)
+    : desktop(desktop), matches(matches.Clone()) {}
 
 AutomationInfo::~AutomationInfo() = default;
 
diff --git a/extensions/common/manifest_handlers/automation.h b/extensions/common/manifest_handlers/automation.h
index f6fd781..e58d2a9 100644
--- a/extensions/common/manifest_handlers/automation.h
+++ b/extensions/common/manifest_handlers/automation.h
@@ -24,7 +24,6 @@
 
 namespace automation_errors {
 extern const char kErrorInvalidMatchPattern[];
-extern const char kErrorDesktopTrueInteractFalse[];
 extern const char kErrorDesktopTrueMatchesSpecified[];
 extern const char kErrorURLMalformed[];
 extern const char kErrorInvalidMatch[];
@@ -54,13 +53,9 @@
   // tree from.
   const URLPatternSet matches;
 
-  // Whether the extension is allowed interactive access (true) or read-only
-  // access (false) to the automation tree.
-  const bool interact;
-
  private:
   AutomationInfo();
-  AutomationInfo(bool desktop, const URLPatternSet& matches, bool interact);
+  AutomationInfo(bool desktop, const URLPatternSet& matches);
 
   static std::unique_ptr<api::extensions_manifest_types::Automation>
   AsManifestType(const AutomationInfo& info);
diff --git a/extensions/common/manifest_handlers/shared_module_info.cc b/extensions/common/manifest_handlers/shared_module_info.cc
index 4401f38..d7687e5 100644
--- a/extensions/common/manifest_handlers/shared_module_info.cc
+++ b/extensions/common/manifest_handlers/shared_module_info.cc
@@ -35,6 +35,7 @@
 namespace {
 
 const char kSharedModule[] = "shared_module";
+const char kAllowlist[] = "allowlist";
 
 using ManifestKeys = api::shared_module::ManifestKeys;
 
@@ -129,6 +130,8 @@
 SharedModuleHandler::~SharedModuleHandler() = default;
 
 bool SharedModuleHandler::Parse(Extension* extension, std::u16string* error) {
+  CHECK(extension);
+  CHECK(error);
   ManifestKeys manifest_keys;
   if (!ManifestKeys::ParseFromDictionary(
           extension->manifest()->available_values(), manifest_keys, *error)) {
@@ -146,6 +149,17 @@
     return false;
   }
 
+  // An empty allowlist results in any extension being able to import modules
+  // from this extension. Since the developer included the "allowlist" key,
+  // it implies they wanted to restrict it. Let them know that the empty
+  // list was probably a mistake.
+  if (has_export && manifest_keys.export_->allowlist &&
+      manifest_keys.export_->allowlist->empty()) {
+    extension->AddInstallWarning(
+        extensions::InstallWarning(errors::kInvalidExportAllowlistEmpty,
+                                   ManifestKeys::kExport, kAllowlist));
+  }
+
   if (has_export && manifest_keys.export_->allowlist) {
     auto begin = manifest_keys.export_->allowlist->begin();
     auto end = manifest_keys.export_->allowlist->end();
@@ -164,6 +178,8 @@
   if (has_import) {
     std::vector<SharedModuleInfo::ImportInfo> imports;
     imports.reserve(manifest_keys.import->size());
+    std::set<ExtensionId> unique_imports;
+    bool unique_imports_warning = false;
     for (size_t i = 0; i < manifest_keys.import->size(); i++) {
       auto& import = manifest_keys.import->at(i);
       if (!crx_file::id_util::IdIsValid(import.id)) {
@@ -185,7 +201,23 @@
         import_info.minimum_version = std::move(*import.minimum_version);
       }
       imports.push_back(std::move(import_info));
+
+      // The extension system does not have a way to represent different
+      // module versions for the same importer. Repeats of a particular module
+      // ID may be interpreted as "requires a version satisfying both version
+      // strings", but this behavior is not specified. Warn the developer since
+      // this is likely a mistake.
+      if (!unique_imports_warning) {
+        if (unique_imports.contains(import.id)) {
+          unique_imports_warning = true;
+          extension->AddInstallWarning(InstallWarning(
+              errors::kInvalidImportRepeatedImport, ManifestKeys::kImport));
+        } else {
+          unique_imports.insert(import.id);
+        }
+      }
     }
+
     info->set_imports(std::move(imports));
   }
 
diff --git a/extensions/common/manifest_handlers/shared_module_manifest_unittest.cc b/extensions/common/manifest_handlers/shared_module_manifest_unittest.cc
index d6a596c..2cbdd07 100644
--- a/extensions/common/manifest_handlers/shared_module_manifest_unittest.cc
+++ b/extensions/common/manifest_handlers/shared_module_manifest_unittest.cc
@@ -4,6 +4,7 @@
 
 #include "base/version.h"
 #include "extensions/common/extension.h"
+#include "extensions/common/manifest_constants.h"
 #include "extensions/common/manifest_handlers/shared_module_info.h"
 #include "extensions/common/manifest_test.h"
 #include "testing/gtest/include/gtest/gtest.h"
@@ -63,6 +64,23 @@
       << manifest.name();
 }
 
+TEST_F(SharedModuleManifestTest, ExportAllowlistEmpty) {
+  scoped_refptr<Extension> extension =
+      LoadAndExpectWarnings("shared_module_export_allowlist_empty.json",
+                            {"Unrecognized manifest key 'export'.",
+                             manifest_errors::kInvalidExportAllowlistEmpty});
+
+  EXPECT_TRUE(
+      SharedModuleInfo::IsExportAllowedByAllowlist(extension.get(), kImportId1))
+      << extension.get()->name();
+  EXPECT_TRUE(
+      SharedModuleInfo::IsExportAllowedByAllowlist(extension.get(), kImportId2))
+      << extension.get()->name();
+  EXPECT_TRUE(
+      SharedModuleInfo::IsExportAllowedByAllowlist(extension.get(), kNoImport))
+      << extension.get()->name();
+}
+
 TEST_F(SharedModuleManifestTest, ExportParseErrors) {
   Testcase testcases[] = {
       Testcase("shared_module_export_and_import.json",
@@ -117,6 +135,37 @@
       SharedModuleInfo::ImportsExtensionById(extension.get(), kNoImport));
 }
 
+TEST_F(SharedModuleManifestTest, ImportRepeats) {
+  scoped_refptr<Extension> extension =
+      LoadAndExpectWarnings("shared_module_import_repeats.json",
+                            {"Unrecognized manifest key 'import'.",
+                             manifest_errors::kInvalidImportRepeatedImport});
+
+  EXPECT_FALSE(SharedModuleInfo::IsSharedModule(extension.get()))
+      << extension.get()->name();
+  EXPECT_TRUE(SharedModuleInfo::ImportsModules(extension.get()))
+      << extension.get()->name();
+  const std::vector<SharedModuleInfo::ImportInfo>& imports =
+      SharedModuleInfo::GetImports(extension.get());
+  ASSERT_EQ(4u, imports.size());
+  EXPECT_EQ(imports[0].extension_id, kImportId1);
+  EXPECT_EQ(imports[0].minimum_version, "");
+  EXPECT_EQ(imports[1].extension_id, kImportId2);
+  EXPECT_EQ(imports[1].minimum_version, "");
+  EXPECT_EQ(imports[2].extension_id, kImportId1);
+  EXPECT_EQ(imports[2].minimum_version, "1.0");
+  EXPECT_EQ(imports[3].extension_id, kImportId1);
+  EXPECT_EQ(imports[3].minimum_version, "1.1");
+  EXPECT_TRUE(base::Version(imports[2].minimum_version).IsValid());
+  EXPECT_TRUE(base::Version(imports[3].minimum_version).IsValid());
+  EXPECT_TRUE(
+      SharedModuleInfo::ImportsExtensionById(extension.get(), kImportId1));
+  EXPECT_TRUE(
+      SharedModuleInfo::ImportsExtensionById(extension.get(), kImportId2));
+  EXPECT_FALSE(
+      SharedModuleInfo::ImportsExtensionById(extension.get(), kNoImport));
+}
+
 TEST_F(SharedModuleManifestTest, ImportParseErrors) {
   Testcase testcases[] = {
       Testcase("shared_module_import_not_list.json",
diff --git a/extensions/renderer/api/automation/automation_internal_custom_bindings.cc b/extensions/renderer/api/automation/automation_internal_custom_bindings.cc
index 29b5aa0..ef39fb5 100644
--- a/extensions/renderer/api/automation/automation_internal_custom_bindings.cc
+++ b/extensions/renderer/api/automation/automation_internal_custom_bindings.cc
@@ -95,7 +95,7 @@
   CHECK(extension);
   const AutomationInfo* automation_info = AutomationInfo::Get(extension);
   CHECK(automation_info);
-  args.GetReturnValue().Set(automation_info->interact);
+  args.GetReturnValue().Set(automation_info->desktop);
 }
 
 void AutomationInternalCustomBindings::StartCachingAccessibilityTrees() {
diff --git a/extensions/renderer/api/automation/automation_internal_custom_bindings.h b/extensions/renderer/api/automation/automation_internal_custom_bindings.h
index 475f355d..545498d 100644
--- a/extensions/renderer/api/automation/automation_internal_custom_bindings.h
+++ b/extensions/renderer/api/automation/automation_internal_custom_bindings.h
@@ -85,8 +85,7 @@
   // ObjectBackedNativeHandler overrides:
   void Invalidate() override;
 
-  // Returns whether this extension has the "interact" permission set (either
-  // explicitly or implicitly after manifest parsing).
+  // Returns whether this extension has the "desktop" permission set.
   void IsInteractPermitted(
       const v8::FunctionCallbackInfo<v8::Value>& args) const;
 
diff --git a/extensions/renderer/resources/automation/automation_node.js b/extensions/renderer/resources/automation/automation_node.js
index 8534a592..1c444bc 100644
--- a/extensions/renderer/resources/automation/automation_node.js
+++ b/extensions/renderer/resources/automation/automation_node.js
@@ -1381,8 +1381,9 @@
 
     // Check permissions.
     if (!IsInteractPermitted()) {
-      throw new Error(actionType + ' requires {"desktop": true} or' +
-          ' {"interact": true} in the "automation" manifest key.');
+      throw new Error(
+          actionType + ' requires {"desktop": true} in the ' +
+          '"automation" manifest key.');
     }
 
     let requestID = -1;
diff --git a/extensions/renderer/script_injection_manager.cc b/extensions/renderer/script_injection_manager.cc
index fe40c40d..1ddd147 100644
--- a/extensions/renderer/script_injection_manager.cc
+++ b/extensions/renderer/script_injection_manager.cc
@@ -436,15 +436,19 @@
     mojom::LocalFrame::ExecuteCodeCallback callback,
     content::RenderFrame* render_frame) {
   std::unique_ptr<const InjectionHost> injection_host;
-  if (params->host_id->type == mojom::HostID::HostType::kExtensions) {
-    injection_host = ExtensionInjectionHost::Create(params->host_id->id);
-    if (!injection_host) {
-      std::move(callback).Run(base::EmptyString(), GURL::EmptyGURL(),
-                              std::nullopt);
-      return;
-    }
-  } else if (params->host_id->type == mojom::HostID::HostType::kWebUi) {
-    injection_host = std::make_unique<WebUIInjectionHost>(*params->host_id);
+  switch (params->host_id->type) {
+    case mojom::HostID::HostType::kExtensions:
+      injection_host = ExtensionInjectionHost::Create(params->host_id->id);
+      if (!injection_host) {
+        std::move(callback).Run(base::EmptyString(), GURL::EmptyGURL(),
+                                std::nullopt);
+        return;
+      }
+      break;
+    case mojom::HostID::HostType::kControlledFrameEmbedder:
+    case mojom::HostID::HostType::kWebUi:
+      injection_host = std::make_unique<WebUIInjectionHost>(*params->host_id);
+      break;
   }
 
   mojom::RunLocation run_at = params->run_at;
diff --git a/extensions/renderer/user_script_set.cc b/extensions/renderer/user_script_set.cc
index a6fd25e..a9fdf1a 100644
--- a/extensions/renderer/user_script_set.cc
+++ b/extensions/renderer/user_script_set.cc
@@ -203,7 +203,6 @@
       }
       break;
     case mojom::HostID::HostType::kControlledFrameEmbedder:
-      [[fallthrough]];
     case mojom::HostID::HostType::kWebUi:
       injection_host = std::make_unique<WebUIInjectionHost>(host_id_);
       break;
diff --git a/extensions/test/data/manifest_tests/shared_module_export_allowlist_empty.json b/extensions/test/data/manifest_tests/shared_module_export_allowlist_empty.json
new file mode 100644
index 0000000..8619daf
--- /dev/null
+++ b/extensions/test/data/manifest_tests/shared_module_export_allowlist_empty.json
@@ -0,0 +1,9 @@
+{
+  "name": "shared_module_export unittest",
+  "manifest_version": 3,
+  "version": "1",
+  "export": {
+    "allowlist": [
+    ]
+  }
+}
diff --git a/extensions/test/data/manifest_tests/shared_module_import_repeats.json b/extensions/test/data/manifest_tests/shared_module_import_repeats.json
new file mode 100644
index 0000000..b1e04f61
--- /dev/null
+++ b/extensions/test/data/manifest_tests/shared_module_import_repeats.json
@@ -0,0 +1,21 @@
+{
+  "name": "Import unit test",
+  "manifest_version": 3,
+  "version": "1",
+  "import": [
+    {
+      "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
+    },
+    {
+      "id": "bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb"
+    },
+    {
+      "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+      "minimum_version": "1.0"
+    },
+    {
+      "id": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
+      "minimum_version": "1.1"
+    }
+  ]
+}
diff --git a/infra/config/dev/subprojects/chromium/ci.star b/infra/config/dev/subprojects/chromium/ci.star
index 64a863e..4d63ce9 100644
--- a/infra/config/dev/subprojects/chromium/ci.star
+++ b/infra/config/dev/subprojects/chromium/ci.star
@@ -4,6 +4,7 @@
 
 load("//lib/builders.star", "builder", "cpu", "defaults", "os", "reclient")
 load("//lib/builder_config.star", "builder_config")
+load("//lib/gn_args.star", "gn_args")
 
 luci.bucket(
     name = "ci",
@@ -117,6 +118,17 @@
             config = "main_builder_mb",
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "android_builder",
+            "release_builder",
+            "reclient",
+            "minimal_symbols",
+            "arm64",
+            "strip_debug_info",
+            "webview_monochrome",
+        ],
+    ),
 )
 
 # TODO(crbug.com/1412588): Delete this builder when bionic image rolls are
@@ -132,6 +144,14 @@
             build_config = builder_config.build_config.RELEASE,
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "gpu_tests",
+            "release_builder",
+            "reclient",
+            "devtools_do_typecheck",
+        ],
+    ),
     os = os.LINUX_BIONIC,
 )
 
@@ -145,6 +165,14 @@
             build_config = builder_config.build_config.RELEASE,
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "gpu_tests",
+            "release_builder",
+            "reclient",
+            "devtools_do_typecheck",
+        ],
+    ),
 )
 
 ci_builder(
@@ -158,6 +186,14 @@
             build_config = builder_config.build_config.RELEASE,
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "gpu_tests",
+            "release_builder",
+            "reclient",
+            "devtools_do_typecheck",
+        ],
+    ),
     builderless = False,
     ssd = True,
 )
@@ -173,6 +209,14 @@
             build_config = builder_config.build_config.RELEASE,
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "gpu_tests",
+            "release_builder",
+            "reclient",
+            "devtools_do_typecheck",
+        ],
+    ),
     builderless = False,
     ssd = True,
 )
@@ -187,6 +231,15 @@
             build_config = builder_config.build_config.RELEASE,
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "gpu_tests",
+            "release_builder",
+            "reclient",
+            "minimal_symbols",
+            "disable_nacl",
+        ],
+    ),
     os = os.MAC_DEFAULT,
 )
 
@@ -200,6 +253,15 @@
             build_config = builder_config.build_config.RELEASE,
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "gpu_tests",
+            "release_builder",
+            "reclient",
+            "minimal_symbols",
+            "disable_nacl",
+        ],
+    ),
     os = os.MAC_DEFAULT,
     cpu = cpu.ARM64,
 )
@@ -215,6 +277,14 @@
             build_config = builder_config.build_config.RELEASE,
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "gpu_tests",
+            "release_builder",
+            "reclient",
+            "minimal_symbols",
+        ],
+    ),
     builderless = False,
     os = os.WINDOWS_10,
     ssd = 1,
@@ -230,6 +300,14 @@
             build_config = builder_config.build_config.RELEASE,
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "gpu_tests",
+            "release_builder",
+            "reclient",
+            "minimal_symbols",
+        ],
+    ),
     os = os.WINDOWS_10,
     ssd = 0,
 )
@@ -244,5 +322,13 @@
             build_config = builder_config.build_config.RELEASE,
         ),
     ),
+    gn_args = gn_args.config(
+        configs = [
+            "gpu_tests",
+            "release_builder",
+            "reclient",
+            "minimal_symbols",
+        ],
+    ),
     os = os.WINDOWS_11,
 )
diff --git a/infra/config/generated/builders-dev/ci/android-pie-arm64-rel-dev/gn-args.json b/infra/config/generated/builders-dev/ci/android-pie-arm64-rel-dev/gn-args.json
new file mode 100644
index 0000000..e993db3
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/android-pie-arm64-rel-dev/gn-args.json
@@ -0,0 +1,16 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "debuggable_apks": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "strip_debug_info": true,
+    "symbol_level": 1,
+    "system_webview_package_name": "com.google.android.apps.chrome",
+    "target_cpu": "arm64",
+    "target_os": "android",
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/android-pie-arm64-rel-dev/properties.json b/infra/config/generated/builders-dev/ci/android-pie-arm64-rel-dev/properties.json
index 1158302..a1445f2 100644
--- a/infra/config/generated/builders-dev/ci/android-pie-arm64-rel-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/android-pie-arm64-rel-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/android-pie-arm64-rel-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/ci/linux-local-ssd-rel-dev/gn-args.json b/infra/config/generated/builders-dev/ci/linux-local-ssd-rel-dev/gn-args.json
new file mode 100644
index 0000000..b849b27
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/linux-local-ssd-rel-dev/gn-args.json
@@ -0,0 +1,11 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "devtools_skip_typecheck": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/linux-local-ssd-rel-dev/properties.json b/infra/config/generated/builders-dev/ci/linux-local-ssd-rel-dev/properties.json
index 372efbae..3fc0229b 100644
--- a/infra/config/generated/builders-dev/ci/linux-local-ssd-rel-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/linux-local-ssd-rel-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/linux-local-ssd-rel-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/ci/linux-rel-dev/gn-args.json b/infra/config/generated/builders-dev/ci/linux-rel-dev/gn-args.json
new file mode 100644
index 0000000..b849b27
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/linux-rel-dev/gn-args.json
@@ -0,0 +1,11 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "devtools_skip_typecheck": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/linux-rel-dev/properties.json b/infra/config/generated/builders-dev/ci/linux-rel-dev/properties.json
index 8db6e25..4fd6bd58 100644
--- a/infra/config/generated/builders-dev/ci/linux-rel-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/linux-rel-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/linux-rel-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/ci/linux-rel-jammy-dev/gn-args.json b/infra/config/generated/builders-dev/ci/linux-rel-jammy-dev/gn-args.json
new file mode 100644
index 0000000..b849b27
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/linux-rel-jammy-dev/gn-args.json
@@ -0,0 +1,11 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "devtools_skip_typecheck": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/linux-rel-jammy-dev/properties.json b/infra/config/generated/builders-dev/ci/linux-rel-jammy-dev/properties.json
index 7b7ab10..62e125e 100644
--- a/infra/config/generated/builders-dev/ci/linux-rel-jammy-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/linux-rel-jammy-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/linux-rel-jammy-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/ci/linux-remote-ssd-rel-dev/gn-args.json b/infra/config/generated/builders-dev/ci/linux-remote-ssd-rel-dev/gn-args.json
new file mode 100644
index 0000000..b849b27
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/linux-remote-ssd-rel-dev/gn-args.json
@@ -0,0 +1,11 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "devtools_skip_typecheck": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/linux-remote-ssd-rel-dev/properties.json b/infra/config/generated/builders-dev/ci/linux-remote-ssd-rel-dev/properties.json
index c93208c..94c1702 100644
--- a/infra/config/generated/builders-dev/ci/linux-remote-ssd-rel-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/linux-remote-ssd-rel-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/linux-remote-ssd-rel-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/ci/mac-arm-rel-dev/gn-args.json b/infra/config/generated/builders-dev/ci/mac-arm-rel-dev/gn-args.json
new file mode 100644
index 0000000..1bf2075
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/mac-arm-rel-dev/gn-args.json
@@ -0,0 +1,12 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "enable_nacl": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "symbol_level": 1,
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/mac-arm-rel-dev/properties.json b/infra/config/generated/builders-dev/ci/mac-arm-rel-dev/properties.json
index 13daa02..d95d3d0c 100644
--- a/infra/config/generated/builders-dev/ci/mac-arm-rel-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/mac-arm-rel-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/mac-arm-rel-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/ci/mac-rel-dev/gn-args.json b/infra/config/generated/builders-dev/ci/mac-rel-dev/gn-args.json
new file mode 100644
index 0000000..1bf2075
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/mac-rel-dev/gn-args.json
@@ -0,0 +1,12 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "enable_nacl": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "symbol_level": 1,
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/mac-rel-dev/properties.json b/infra/config/generated/builders-dev/ci/mac-rel-dev/properties.json
index 59cf9db..888ea7af 100644
--- a/infra/config/generated/builders-dev/ci/mac-rel-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/mac-rel-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/mac-rel-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/ci/win-local-ssd-rel-dev/gn-args.json b/infra/config/generated/builders-dev/ci/win-local-ssd-rel-dev/gn-args.json
new file mode 100644
index 0000000..e1a1b3b
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/win-local-ssd-rel-dev/gn-args.json
@@ -0,0 +1,11 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "symbol_level": 1,
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/win-local-ssd-rel-dev/properties.json b/infra/config/generated/builders-dev/ci/win-local-ssd-rel-dev/properties.json
index 8d48c6da..441fdc5 100644
--- a/infra/config/generated/builders-dev/ci/win-local-ssd-rel-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/win-local-ssd-rel-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/win-local-ssd-rel-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/ci/win-rel-dev/gn-args.json b/infra/config/generated/builders-dev/ci/win-rel-dev/gn-args.json
new file mode 100644
index 0000000..e1a1b3b
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/win-rel-dev/gn-args.json
@@ -0,0 +1,11 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "symbol_level": 1,
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/win-rel-dev/properties.json b/infra/config/generated/builders-dev/ci/win-rel-dev/properties.json
index 43f210b..e85ac6b 100644
--- a/infra/config/generated/builders-dev/ci/win-rel-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/win-rel-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/win-rel-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/ci/win11-rel-dev/gn-args.json b/infra/config/generated/builders-dev/ci/win11-rel-dev/gn-args.json
new file mode 100644
index 0000000..e1a1b3b
--- /dev/null
+++ b/infra/config/generated/builders-dev/ci/win11-rel-dev/gn-args.json
@@ -0,0 +1,11 @@
+{
+  "gn_args": {
+    "dcheck_always_on": false,
+    "ffmpeg_branding": "Chrome",
+    "is_component_build": false,
+    "is_debug": false,
+    "proprietary_codecs": true,
+    "symbol_level": 1,
+    "use_remoteexec": true
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders-dev/ci/win11-rel-dev/properties.json b/infra/config/generated/builders-dev/ci/win11-rel-dev/properties.json
index 35ce9cf8..e5fa9fe 100644
--- a/infra/config/generated/builders-dev/ci/win11-rel-dev/properties.json
+++ b/infra/config/generated/builders-dev/ci/win11-rel-dev/properties.json
@@ -4,6 +4,9 @@
   },
   "$build/chromium_tests_builder_config": {
     "builder_config": {
+      "additional_exclusions": [
+        "infra/config/generated/builders-dev/ci/win11-rel-dev/gn-args.json"
+      ],
       "builder_db": {
         "entries": [
           {
diff --git a/infra/config/generated/builders-dev/gn_args_locations.json b/infra/config/generated/builders-dev/gn_args_locations.json
index 9e26dfe..a68b92ea 100644
--- a/infra/config/generated/builders-dev/gn_args_locations.json
+++ b/infra/config/generated/builders-dev/gn_args_locations.json
@@ -1 +1,14 @@
-{}
\ No newline at end of file
+{
+  "chromium.dev": {
+    "android-pie-arm64-rel-dev": "ci/android-pie-arm64-rel-dev/gn-args.json",
+    "linux-local-ssd-rel-dev": "ci/linux-local-ssd-rel-dev/gn-args.json",
+    "linux-rel-dev": "ci/linux-rel-dev/gn-args.json",
+    "linux-rel-jammy-dev": "ci/linux-rel-jammy-dev/gn-args.json",
+    "linux-remote-ssd-rel-dev": "ci/linux-remote-ssd-rel-dev/gn-args.json",
+    "mac-arm-rel-dev": "ci/mac-arm-rel-dev/gn-args.json",
+    "mac-rel-dev": "ci/mac-rel-dev/gn-args.json",
+    "win-local-ssd-rel-dev": "ci/win-local-ssd-rel-dev/gn-args.json",
+    "win-rel-dev": "ci/win-rel-dev/gn-args.json",
+    "win11-rel-dev": "ci/win11-rel-dev/gn-args.json"
+  }
+}
\ No newline at end of file
diff --git a/infra/config/generated/builders/ci/ASAN Debug/properties.json b/infra/config/generated/builders/ci/ASAN Debug/properties.json
index dacc0745..cc7b5e0 100644
--- a/infra/config/generated/builders/ci/ASAN Debug/properties.json
+++ b/infra/config/generated/builders/ci/ASAN Debug/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/ASAN Release Media/properties.json b/infra/config/generated/builders/ci/ASAN Release Media/properties.json
index 6dac9ad..0949e98 100644
--- a/infra/config/generated/builders/ci/ASAN Release Media/properties.json
+++ b/infra/config/generated/builders/ci/ASAN Release Media/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/ASAN Release/properties.json b/infra/config/generated/builders/ci/ASAN Release/properties.json
index 576531b..92a0e1e 100644
--- a/infra/config/generated/builders/ci/ASAN Release/properties.json
+++ b/infra/config/generated/builders/ci/ASAN Release/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/ASan Debug \05032-bit x86 with V8-ARM\051/properties.json" "b/infra/config/generated/builders/ci/ASan Debug \05032-bit x86 with V8-ARM\051/properties.json"
index 483ec1d..ec61026f 100644
--- "a/infra/config/generated/builders/ci/ASan Debug \05032-bit x86 with V8-ARM\051/properties.json"
+++ "b/infra/config/generated/builders/ci/ASan Debug \05032-bit x86 with V8-ARM\051/properties.json"
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium_asan",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/ASan Release \05032-bit x86 with V8-ARM\051/properties.json" "b/infra/config/generated/builders/ci/ASan Release \05032-bit x86 with V8-ARM\051/properties.json"
index e3c2ada..0f9a7958 100644
--- "a/infra/config/generated/builders/ci/ASan Release \05032-bit x86 with V8-ARM\051/properties.json"
+++ "b/infra/config/generated/builders/ci/ASan Release \05032-bit x86 with V8-ARM\051/properties.json"
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/ASan Release Media \05032-bit x86 with V8-ARM\051/properties.json" "b/infra/config/generated/builders/ci/ASan Release Media \05032-bit x86 with V8-ARM\051/properties.json"
index a45796b..79c08fb 100644
--- "a/infra/config/generated/builders/ci/ASan Release Media \05032-bit x86 with V8-ARM\051/properties.json"
+++ "b/infra/config/generated/builders/ci/ASan Release Media \05032-bit x86 with V8-ARM\051/properties.json"
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Cast Linux ARM64/properties.json b/infra/config/generated/builders/ci/Cast Linux ARM64/properties.json
index 794e425..91df5579 100644
--- a/infra/config/generated/builders/ci/Cast Linux ARM64/properties.json
+++ b/infra/config/generated/builders/ci/Cast Linux ARM64/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium_clang",
                 "target_arch": "arm",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/Cast Linux Debug/properties.json b/infra/config/generated/builders/ci/Cast Linux Debug/properties.json
index bc2fb50..2d57127 100644
--- a/infra/config/generated/builders/ci/Cast Linux Debug/properties.json
+++ b/infra/config/generated/builders/ci/Cast Linux Debug/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Cast Linux/properties.json b/infra/config/generated/builders/ci/Cast Linux/properties.json
index 7e7f4828..e0e826d 100644
--- a/infra/config/generated/builders/ci/Cast Linux/properties.json
+++ b/infra/config/generated/builders/ci/Cast Linux/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/ChromiumOS ASAN Release/properties.json b/infra/config/generated/builders/ci/ChromiumOS ASAN Release/properties.json
index 706ecb52..524dd5e 100644
--- a/infra/config/generated/builders/ci/ChromiumOS ASAN Release/properties.json
+++ b/infra/config/generated/builders/ci/ChromiumOS ASAN Release/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/Leak Detection Linux/properties.json b/infra/config/generated/builders/ci/Leak Detection Linux/properties.json
index 2849c136..7efa4c20 100644
--- a/infra/config/generated/builders/ci/Leak Detection Linux/properties.json
+++ b/infra/config/generated/builders/ci/Leak Detection Linux/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Linux ASan LSan Builder/properties.json b/infra/config/generated/builders/ci/Linux ASan LSan Builder/properties.json
index e91e607b..cac3011 100644
--- a/infra/config/generated/builders/ci/Linux ASan LSan Builder/properties.json
+++ b/infra/config/generated/builders/ci/Linux ASan LSan Builder/properties.json
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -47,7 +48,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/Linux ASan LSan Tests \0501\051/properties.json" "b/infra/config/generated/builders/ci/Linux ASan LSan Tests \0501\051/properties.json"
index 5e3cf3c4..9dfb09e 100644
--- "a/infra/config/generated/builders/ci/Linux ASan LSan Tests \0501\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Linux ASan LSan Tests \0501\051/properties.json"
@@ -20,7 +20,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -44,7 +45,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/Linux Builder \050Wayland\051/properties.json" "b/infra/config/generated/builders/ci/Linux Builder \050Wayland\051/properties.json"
index 7ac4908..6492d1c 100644
--- "a/infra/config/generated/builders/ci/Linux Builder \050Wayland\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Linux Builder \050Wayland\051/properties.json"
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -48,7 +49,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git "a/infra/config/generated/builders/ci/Linux Builder \050dbg\051/properties.json" "b/infra/config/generated/builders/ci/Linux Builder \050dbg\051/properties.json"
index 340fd3a7..89ce384 100644
--- "a/infra/config/generated/builders/ci/Linux Builder \050dbg\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Linux Builder \050dbg\051/properties.json"
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Linux Builder/properties.json b/infra/config/generated/builders/ci/Linux Builder/properties.json
index e9b1da5..fb32c580 100644
--- a/infra/config/generated/builders/ci/Linux Builder/properties.json
+++ b/infra/config/generated/builders/ci/Linux Builder/properties.json
@@ -48,7 +48,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/Linux CFI/properties.json b/infra/config/generated/builders/ci/Linux CFI/properties.json
index 835fe0b..796fd4b 100644
--- a/infra/config/generated/builders/ci/Linux CFI/properties.json
+++ b/infra/config/generated/builders/ci/Linux CFI/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Linux Chromium OS ASan LSan Builder/properties.json b/infra/config/generated/builders/ci/Linux Chromium OS ASan LSan Builder/properties.json
index 990e4a9..8add7c9 100644
--- a/infra/config/generated/builders/ci/Linux Chromium OS ASan LSan Builder/properties.json
+++ b/infra/config/generated/builders/ci/Linux Chromium OS ASan LSan Builder/properties.json
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -50,7 +51,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git "a/infra/config/generated/builders/ci/Linux Chromium OS ASan LSan Tests \0501\051/properties.json" "b/infra/config/generated/builders/ci/Linux Chromium OS ASan LSan Tests \0501\051/properties.json"
index 42cfbe1e..b8ecfec 100644
--- "a/infra/config/generated/builders/ci/Linux Chromium OS ASan LSan Tests \0501\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Linux Chromium OS ASan LSan Tests \0501\051/properties.json"
@@ -20,7 +20,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -47,7 +48,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/Linux ChromiumOS MSan Builder/properties.json b/infra/config/generated/builders/ci/Linux ChromiumOS MSan Builder/properties.json
index e9a07bfb..f1058c3 100644
--- a/infra/config/generated/builders/ci/Linux ChromiumOS MSan Builder/properties.json
+++ b/infra/config/generated/builders/ci/Linux ChromiumOS MSan Builder/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -48,7 +49,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/Linux ChromiumOS MSan Tests/properties.json b/infra/config/generated/builders/ci/Linux ChromiumOS MSan Tests/properties.json
index 433e0461..3d0ac62 100644
--- a/infra/config/generated/builders/ci/Linux ChromiumOS MSan Tests/properties.json
+++ b/infra/config/generated/builders/ci/Linux ChromiumOS MSan Tests/properties.json
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/Linux MSan Builder/properties.json b/infra/config/generated/builders/ci/Linux MSan Builder/properties.json
index 7ca8bca..b41ab45 100644
--- a/infra/config/generated/builders/ci/Linux MSan Builder/properties.json
+++ b/infra/config/generated/builders/ci/Linux MSan Builder/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Linux MSan Tests/properties.json b/infra/config/generated/builders/ci/Linux MSan Tests/properties.json
index 8d94b85..65c00d7 100644
--- a/infra/config/generated/builders/ci/Linux MSan Tests/properties.json
+++ b/infra/config/generated/builders/ci/Linux MSan Tests/properties.json
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -42,7 +43,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Linux TSan Builder/properties.json b/infra/config/generated/builders/ci/Linux TSan Builder/properties.json
index b63b1e1..9d3e50a 100644
--- a/infra/config/generated/builders/ci/Linux TSan Builder/properties.json
+++ b/infra/config/generated/builders/ci/Linux TSan Builder/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Linux TSan Tests/properties.json b/infra/config/generated/builders/ci/Linux TSan Tests/properties.json
index 0dbc904..8e7a727 100644
--- a/infra/config/generated/builders/ci/Linux TSan Tests/properties.json
+++ b/infra/config/generated/builders/ci/Linux TSan Tests/properties.json
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -42,7 +43,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/Linux Tests \050Wayland\051/properties.json" "b/infra/config/generated/builders/ci/Linux Tests \050Wayland\051/properties.json"
index 1f974bc..f3e71e4 100644
--- "a/infra/config/generated/builders/ci/Linux Tests \050Wayland\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Linux Tests \050Wayland\051/properties.json"
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git "a/infra/config/generated/builders/ci/Linux Tests \050dbg\051\0501\051/properties.json" "b/infra/config/generated/builders/ci/Linux Tests \050dbg\051\0501\051/properties.json"
index d2f0ed27..f9d2c1b 100644
--- "a/infra/config/generated/builders/ci/Linux Tests \050dbg\051\0501\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Linux Tests \050dbg\051\0501\051/properties.json"
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -42,7 +43,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Linux Tests/properties.json b/infra/config/generated/builders/ci/Linux Tests/properties.json
index 0b13c69..6d008c9f 100644
--- a/infra/config/generated/builders/ci/Linux Tests/properties.json
+++ b/infra/config/generated/builders/ci/Linux Tests/properties.json
@@ -45,7 +45,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/Linux Viz/properties.json b/infra/config/generated/builders/ci/Linux Viz/properties.json
index 049616437..4e46a6e8 100644
--- a/infra/config/generated/builders/ci/Linux Viz/properties.json
+++ b/infra/config/generated/builders/ci/Linux Viz/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/MSAN Release \050chained origins\051/properties.json" "b/infra/config/generated/builders/ci/MSAN Release \050chained origins\051/properties.json"
index b2d6768..8fc0771 100644
--- "a/infra/config/generated/builders/ci/MSAN Release \050chained origins\051/properties.json"
+++ "b/infra/config/generated/builders/ci/MSAN Release \050chained origins\051/properties.json"
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/MSAN Release \050no origins\051/properties.json" "b/infra/config/generated/builders/ci/MSAN Release \050no origins\051/properties.json"
index 86c6a5e7..7373c09 100644
--- "a/infra/config/generated/builders/ci/MSAN Release \050no origins\051/properties.json"
+++ "b/infra/config/generated/builders/ci/MSAN Release \050no origins\051/properties.json"
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Mac ASAN Release Media/properties.json b/infra/config/generated/builders/ci/Mac ASAN Release Media/properties.json
index 5f5952f..c82cdf4 100644
--- a/infra/config/generated/builders/ci/Mac ASAN Release Media/properties.json
+++ b/infra/config/generated/builders/ci/Mac ASAN Release Media/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Mac ASAN Release/properties.json b/infra/config/generated/builders/ci/Mac ASAN Release/properties.json
index 027f6a1..f6ad1ff5 100644
--- a/infra/config/generated/builders/ci/Mac ASAN Release/properties.json
+++ b/infra/config/generated/builders/ci/Mac ASAN Release/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Mac ASan 64 Builder/properties.json b/infra/config/generated/builders/ci/Mac ASan 64 Builder/properties.json
index 4956a280..c41962fb 100644
--- a/infra/config/generated/builders/ci/Mac ASan 64 Builder/properties.json
+++ b/infra/config/generated/builders/ci/Mac ASan 64 Builder/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/Mac ASan 64 Tests \0501\051/properties.json" "b/infra/config/generated/builders/ci/Mac ASan 64 Tests \0501\051/properties.json"
index e5e6a91e..5c2227c 100644
--- "a/infra/config/generated/builders/ci/Mac ASan 64 Tests \0501\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Mac ASan 64 Tests \0501\051/properties.json"
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -42,7 +43,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/Mac Builder \050reclient compare\051/properties.json" "b/infra/config/generated/builders/ci/Mac Builder \050reclient compare\051/properties.json"
index 583dc48..ecd99c4 100644
--- "a/infra/config/generated/builders/ci/Mac Builder \050reclient compare\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Mac Builder \050reclient compare\051/properties.json"
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/Mac Builder Next/properties.json b/infra/config/generated/builders/ci/Mac Builder Next/properties.json
index b3ad253..0c7901b 100644
--- a/infra/config/generated/builders/ci/Mac Builder Next/properties.json
+++ b/infra/config/generated/builders/ci/Mac Builder Next/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Debug",
                 "config": "chromium",
                 "target_arch": "arm",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Network Service Linux/properties.json b/infra/config/generated/builders/ci/Network Service Linux/properties.json
index c4631c38..a1dcee7 100644
--- a/infra/config/generated/builders/ci/Network Service Linux/properties.json
+++ b/infra/config/generated/builders/ci/Network Service Linux/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/TSAN Debug/properties.json b/infra/config/generated/builders/ci/TSAN Debug/properties.json
index d1f5b73..978c621c 100644
--- a/infra/config/generated/builders/ci/TSAN Debug/properties.json
+++ b/infra/config/generated/builders/ci/TSAN Debug/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/TSAN Release/properties.json b/infra/config/generated/builders/ci/TSAN Release/properties.json
index 389256b7..532b5127 100644
--- a/infra/config/generated/builders/ci/TSAN Release/properties.json
+++ b/infra/config/generated/builders/ci/TSAN Release/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/UBSan Release/properties.json b/infra/config/generated/builders/ci/UBSan Release/properties.json
index 841f604..64f3ee00 100644
--- a/infra/config/generated/builders/ci/UBSan Release/properties.json
+++ b/infra/config/generated/builders/ci/UBSan Release/properties.json
@@ -26,7 +26,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_linux_ubsan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/UBSan vptr Release/properties.json b/infra/config/generated/builders/ci/UBSan vptr Release/properties.json
index 559efec..16586731 100644
--- a/infra/config/generated/builders/ci/UBSan vptr Release/properties.json
+++ b/infra/config/generated/builders/ci/UBSan vptr Release/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_linux_ubsan_vptr",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/WebKit Linux ASAN/properties.json b/infra/config/generated/builders/ci/WebKit Linux ASAN/properties.json
index 10143c7..1fac8d78 100644
--- a/infra/config/generated/builders/ci/WebKit Linux ASAN/properties.json
+++ b/infra/config/generated/builders/ci/WebKit Linux ASAN/properties.json
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/WebKit Linux Leak/properties.json b/infra/config/generated/builders/ci/WebKit Linux Leak/properties.json
index f1c0f96b..824ab9c 100644
--- a/infra/config/generated/builders/ci/WebKit Linux Leak/properties.json
+++ b/infra/config/generated/builders/ci/WebKit Linux Leak/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/WebKit Linux MSAN/properties.json b/infra/config/generated/builders/ci/WebKit Linux MSAN/properties.json
index 06745b5..335d797 100644
--- a/infra/config/generated/builders/ci/WebKit Linux MSAN/properties.json
+++ b/infra/config/generated/builders/ci/WebKit Linux MSAN/properties.json
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/WebKit Win10/properties.json b/infra/config/generated/builders/ci/WebKit Win10/properties.json
index 375f8d1..a2a9b0b9 100644
--- a/infra/config/generated/builders/ci/WebKit Win10/properties.json
+++ b/infra/config/generated/builders/ci/WebKit Win10/properties.json
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -47,7 +48,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Win 10 Fast Ring/properties.json b/infra/config/generated/builders/ci/Win 10 Fast Ring/properties.json
index 5286c32..d96f669 100644
--- a/infra/config/generated/builders/ci/Win 10 Fast Ring/properties.json
+++ b/infra/config/generated/builders/ci/Win 10 Fast Ring/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Win ASan Release Media/properties.json b/infra/config/generated/builders/ci/Win ASan Release Media/properties.json
index cbcba78..efaf3ed 100644
--- a/infra/config/generated/builders/ci/Win ASan Release Media/properties.json
+++ b/infra/config/generated/builders/ci/Win ASan Release Media/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_win_clang_asan",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Win ASan Release/properties.json b/infra/config/generated/builders/ci/Win ASan Release/properties.json
index 2ce64f38..4891050 100644
--- a/infra/config/generated/builders/ci/Win ASan Release/properties.json
+++ b/infra/config/generated/builders/ci/Win ASan Release/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_win_clang_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/Win Builder \050dbg\051/properties.json" "b/infra/config/generated/builders/ci/Win Builder \050dbg\051/properties.json"
index 9618338..f48a5b0 100644
--- "a/infra/config/generated/builders/ci/Win Builder \050dbg\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Win Builder \050dbg\051/properties.json"
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/Win Builder/properties.json b/infra/config/generated/builders/ci/Win Builder/properties.json
index 34b25e2..44aa65f9 100644
--- a/infra/config/generated/builders/ci/Win Builder/properties.json
+++ b/infra/config/generated/builders/ci/Win Builder/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -50,7 +51,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/Win x64 Builder \050dbg\051/properties.json" "b/infra/config/generated/builders/ci/Win x64 Builder \050dbg\051/properties.json"
index 5c2e514..9cb3375 100644
--- "a/infra/config/generated/builders/ci/Win x64 Builder \050dbg\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Win x64 Builder \050dbg\051/properties.json"
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/Win x64 Builder \050reclient compare\051/properties.json" "b/infra/config/generated/builders/ci/Win x64 Builder \050reclient compare\051/properties.json"
index 999eef04..ad58112 100644
--- "a/infra/config/generated/builders/ci/Win x64 Builder \050reclient compare\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Win x64 Builder \050reclient compare\051/properties.json"
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git "a/infra/config/generated/builders/ci/Win x64 Builder \050reclient\051/properties.json" "b/infra/config/generated/builders/ci/Win x64 Builder \050reclient\051/properties.json"
index be482ae..1804395 100644
--- "a/infra/config/generated/builders/ci/Win x64 Builder \050reclient\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Win x64 Builder \050reclient\051/properties.json"
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/Win x64 Builder/properties.json b/infra/config/generated/builders/ci/Win x64 Builder/properties.json
index 8d3b253..576e1be 100644
--- a/infra/config/generated/builders/ci/Win x64 Builder/properties.json
+++ b/infra/config/generated/builders/ci/Win x64 Builder/properties.json
@@ -112,7 +112,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/Win10 Tests x64 \050dbg\051/properties.json" "b/infra/config/generated/builders/ci/Win10 Tests x64 \050dbg\051/properties.json"
index 336c800f..926a2ec 100644
--- "a/infra/config/generated/builders/ci/Win10 Tests x64 \050dbg\051/properties.json"
+++ "b/infra/config/generated/builders/ci/Win10 Tests x64 \050dbg\051/properties.json"
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -42,7 +43,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-annotator-rel/properties.json b/infra/config/generated/builders/ci/linux-annotator-rel/properties.json
index 02ee93d..591dbe3d 100644
--- a/infra/config/generated/builders/ci/linux-annotator-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-annotator-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-archive-rel/properties.json b/infra/config/generated/builders/ci/linux-archive-rel/properties.json
index f1857383..934a469 100644
--- a/infra/config/generated/builders/ci/linux-archive-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-archive-rel/properties.json
@@ -30,7 +30,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-bfcache-rel/properties.json b/infra/config/generated/builders/ci/linux-bfcache-rel/properties.json
index 86c1585..b67e533 100644
--- a/infra/config/generated/builders/ci/linux-bfcache-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-bfcache-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-blink-animation-use-time-delta/properties.json b/infra/config/generated/builders/ci/linux-blink-animation-use-time-delta/properties.json
index 45c42aff..df332dd 100644
--- a/infra/config/generated/builders/ci/linux-blink-animation-use-time-delta/properties.json
+++ b/infra/config/generated/builders/ci/linux-blink-animation-use-time-delta/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-blink-heap-verification/properties.json b/infra/config/generated/builders/ci/linux-blink-heap-verification/properties.json
index f4d6f90..5ea6633 100644
--- a/infra/config/generated/builders/ci/linux-blink-heap-verification/properties.json
+++ b/infra/config/generated/builders/ci/linux-blink-heap-verification/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-blink-web-tests-force-accessibility-rel/properties.json b/infra/config/generated/builders/ci/linux-blink-web-tests-force-accessibility-rel/properties.json
index da1acac7..772fe1b7 100644
--- a/infra/config/generated/builders/ci/linux-blink-web-tests-force-accessibility-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-blink-web-tests-force-accessibility-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-blink-wpt-reset-rel/properties.json b/infra/config/generated/builders/ci/linux-blink-wpt-reset-rel/properties.json
index ab38f576..0b87923 100644
--- a/infra/config/generated/builders/ci/linux-blink-wpt-reset-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-blink-wpt-reset-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-cfm-rel/properties.json b/infra/config/generated/builders/ci/linux-cfm-rel/properties.json
index 0fe30329..ff0db5a 100644
--- a/infra/config/generated/builders/ci/linux-cfm-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-cfm-rel/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-chromeos-annotator-rel/properties.json b/infra/config/generated/builders/ci/linux-chromeos-annotator-rel/properties.json
index 501dd6a..4cc92b5 100644
--- a/infra/config/generated/builders/ci/linux-chromeos-annotator-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-chromeos-annotator-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-chromeos-code-coverage/properties.json b/infra/config/generated/builders/ci/linux-chromeos-code-coverage/properties.json
index 63ab713..4dc7f6ff 100644
--- a/infra/config/generated/builders/ci/linux-chromeos-code-coverage/properties.json
+++ b/infra/config/generated/builders/ci/linux-chromeos-code-coverage/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-chromeos-dbg/properties.json b/infra/config/generated/builders/ci/linux-chromeos-dbg/properties.json
index 160953d1..c501342 100644
--- a/infra/config/generated/builders/ci/linux-chromeos-dbg/properties.json
+++ b/infra/config/generated/builders/ci/linux-chromeos-dbg/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Debug",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-chromeos-rel/properties.json b/infra/config/generated/builders/ci/linux-chromeos-rel/properties.json
index 1ee734d..894823d 100644
--- a/infra/config/generated/builders/ci/linux-chromeos-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-chromeos-rel/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-code-coverage/properties.json b/infra/config/generated/builders/ci/linux-code-coverage/properties.json
index 6c63310..35c5aca3 100644
--- a/infra/config/generated/builders/ci/linux-code-coverage/properties.json
+++ b/infra/config/generated/builders/ci/linux-code-coverage/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-exp-msan-fyi-rel/properties.json b/infra/config/generated/builders/ci/linux-exp-msan-fyi-rel/properties.json
index 5773b359..d3af542 100644
--- a/infra/config/generated/builders/ci/linux-exp-msan-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-exp-msan-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-exp-tsan-fyi-rel/properties.json b/infra/config/generated/builders/ci/linux-exp-tsan-fyi-rel/properties.json
index 2af9278..911ed7e 100644
--- a/infra/config/generated/builders/ci/linux-exp-tsan-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-exp-tsan-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-extended-tracing-rel/properties.json b/infra/config/generated/builders/ci/linux-extended-tracing-rel/properties.json
index dc14789..4e63ba00 100644
--- a/infra/config/generated/builders/ci/linux-extended-tracing-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-extended-tracing-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-fieldtrial-rel/properties.json b/infra/config/generated/builders/ci/linux-fieldtrial-rel/properties.json
index abed4d2..3a94ea3 100644
--- a/infra/config/generated/builders/ci/linux-fieldtrial-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-fieldtrial-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-gcc-rel/properties.json b/infra/config/generated/builders/ci/linux-gcc-rel/properties.json
index bacdc5aa..5ef4a912f 100644
--- a/infra/config/generated/builders/ci/linux-gcc-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-gcc-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_no_goma",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-headless-shell-rel/properties.json b/infra/config/generated/builders/ci/linux-headless-shell-rel/properties.json
index 193b1e4..9340018 100644
--- a/infra/config/generated/builders/ci/linux-headless-shell-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-headless-shell-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-js-code-coverage/properties.json b/infra/config/generated/builders/ci/linux-js-code-coverage/properties.json
index 023f54c..7eceb1c 100644
--- a/infra/config/generated/builders/ci/linux-js-code-coverage/properties.json
+++ b/infra/config/generated/builders/ci/linux-js-code-coverage/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-lacros-archive-rel/properties.json b/infra/config/generated/builders/ci/linux-lacros-archive-rel/properties.json
index 4b300ae2..9559e67 100644
--- a/infra/config/generated/builders/ci/linux-lacros-archive-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-archive-rel/properties.json
@@ -29,7 +29,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-lacros-asan-lsan-rel/properties.json b/infra/config/generated/builders/ci/linux-lacros-asan-lsan-rel/properties.json
index 561f76e..facc024e 100644
--- a/infra/config/generated/builders/ci/linux-lacros-asan-lsan-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-asan-lsan-rel/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-lacros-builder-fyi-rel/properties.json b/infra/config/generated/builders/ci/linux-lacros-builder-fyi-rel/properties.json
index 913404ca..02c676c67 100644
--- a/infra/config/generated/builders/ci/linux-lacros-builder-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-builder-fyi-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -48,7 +49,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git "a/infra/config/generated/builders/ci/linux-lacros-builder-rel \050reclient\051/properties.json" "b/infra/config/generated/builders/ci/linux-lacros-builder-rel \050reclient\051/properties.json"
index c78235b..76b7ae7 100644
--- "a/infra/config/generated/builders/ci/linux-lacros-builder-rel \050reclient\051/properties.json"
+++ "b/infra/config/generated/builders/ci/linux-lacros-builder-rel \050reclient\051/properties.json"
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-lacros-builder-rel/properties.json b/infra/config/generated/builders/ci/linux-lacros-builder-rel/properties.json
index 21a1ba3..579ba2d 100644
--- a/infra/config/generated/builders/ci/linux-lacros-builder-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-builder-rel/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -50,7 +51,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-lacros-code-coverage/properties.json b/infra/config/generated/builders/ci/linux-lacros-code-coverage/properties.json
index eee0b1c..fd5c0e7d 100644
--- a/infra/config/generated/builders/ci/linux-lacros-code-coverage/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-code-coverage/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-lacros-dbg-fyi/properties.json b/infra/config/generated/builders/ci/linux-lacros-dbg-fyi/properties.json
index f9e77c44..46612ec 100644
--- a/infra/config/generated/builders/ci/linux-lacros-dbg-fyi/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-dbg-fyi/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -48,7 +49,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-lacros-dbg-tests-fyi/properties.json b/infra/config/generated/builders/ci/linux-lacros-dbg-tests-fyi/properties.json
index f036ae25..4713bf6 100644
--- a/infra/config/generated/builders/ci/linux-lacros-dbg-tests-fyi/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-dbg-tests-fyi/properties.json
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-lacros-dbg/properties.json b/infra/config/generated/builders/ci/linux-lacros-dbg/properties.json
index 2d0544d..84614042 100644
--- a/infra/config/generated/builders/ci/linux-lacros-dbg/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-dbg/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Debug",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-lacros-tester-fyi-rel/properties.json b/infra/config/generated/builders/ci/linux-lacros-tester-fyi-rel/properties.json
index 70c7013..a411c0a 100644
--- a/infra/config/generated/builders/ci/linux-lacros-tester-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-tester-fyi-rel/properties.json
@@ -19,7 +19,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-lacros-tester-rel/properties.json b/infra/config/generated/builders/ci/linux-lacros-tester-rel/properties.json
index 7f25f7f..bf44fd9 100644
--- a/infra/config/generated/builders/ci/linux-lacros-tester-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-lacros-tester-rel/properties.json
@@ -20,7 +20,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -47,7 +48,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-network-sandbox-rel/properties.json b/infra/config/generated/builders/ci/linux-network-sandbox-rel/properties.json
index c74f671..2d3cd7b 100644
--- a/infra/config/generated/builders/ci/linux-network-sandbox-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-network-sandbox-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-official/properties.json b/infra/config/generated/builders/ci/linux-official/properties.json
index 8d2fc52..0e58922 100644
--- a/infra/config/generated/builders/ci/linux-official/properties.json
+++ b/infra/config/generated/builders/ci/linux-official/properties.json
@@ -20,7 +20,8 @@
                   "mb"
                 ],
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-perfetto-rel/properties.json b/infra/config/generated/builders/ci/linux-perfetto-rel/properties.json
index 8d4e3c44..e91d89e 100644
--- a/infra/config/generated/builders/ci/linux-perfetto-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-perfetto-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-rust-x64-dbg/properties.json b/infra/config/generated/builders/ci/linux-rust-x64-dbg/properties.json
index cd9a7f2..c0397b4 100644
--- a/infra/config/generated/builders/ci/linux-rust-x64-dbg/properties.json
+++ b/infra/config/generated/builders/ci/linux-rust-x64-dbg/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-rust-x64-rel/properties.json b/infra/config/generated/builders/ci/linux-rust-x64-rel/properties.json
index acac4dd..8e3cdb9 100644
--- a/infra/config/generated/builders/ci/linux-rust-x64-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-rust-x64-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-swangle-chromium-x64-exp/properties.json b/infra/config/generated/builders/ci/linux-swangle-chromium-x64-exp/properties.json
index 678cd15..f705e26 100644
--- a/infra/config/generated/builders/ci/linux-swangle-chromium-x64-exp/properties.json
+++ b/infra/config/generated/builders/ci/linux-swangle-chromium-x64-exp/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-swangle-chromium-x64/properties.json b/infra/config/generated/builders/ci/linux-swangle-chromium-x64/properties.json
index 70f69ca..fe3b4bd 100644
--- a/infra/config/generated/builders/ci/linux-swangle-chromium-x64/properties.json
+++ b/infra/config/generated/builders/ci/linux-swangle-chromium-x64/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/linux-swangle-x64-exp/properties.json b/infra/config/generated/builders/ci/linux-swangle-x64-exp/properties.json
index 26b1375..de407d4 100644
--- a/infra/config/generated/builders/ci/linux-swangle-x64-exp/properties.json
+++ b/infra/config/generated/builders/ci/linux-swangle-x64-exp/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-swangle-x64/properties.json b/infra/config/generated/builders/ci/linux-swangle-x64/properties.json
index 8852988..54cfb80 100644
--- a/infra/config/generated/builders/ci/linux-swangle-x64/properties.json
+++ b/infra/config/generated/builders/ci/linux-swangle-x64/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-ubsan-fyi-rel/properties.json b/infra/config/generated/builders/ci/linux-ubsan-fyi-rel/properties.json
index 1c3a166..e962c6dd 100644
--- a/infra/config/generated/builders/ci/linux-ubsan-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-ubsan-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-ubsan-vptr/properties.json b/infra/config/generated/builders/ci/linux-ubsan-vptr/properties.json
index 5bdc2c8c..1bd23f83 100644
--- a/infra/config/generated/builders/ci/linux-ubsan-vptr/properties.json
+++ b/infra/config/generated/builders/ci/linux-ubsan-vptr/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-upload-perfetto/properties.json b/infra/config/generated/builders/ci/linux-upload-perfetto/properties.json
index 6af6216..be0af845 100644
--- a/infra/config/generated/builders/ci/linux-upload-perfetto/properties.json
+++ b/infra/config/generated/builders/ci/linux-upload-perfetto/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-v4l2-codec-rel/properties.json b/infra/config/generated/builders/ci/linux-v4l2-codec-rel/properties.json
index 078a6034..00680f8b 100644
--- a/infra/config/generated/builders/ci/linux-v4l2-codec-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-v4l2-codec-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-wpt-chromium-rel/properties.json b/infra/config/generated/builders/ci/linux-wpt-chromium-rel/properties.json
index a8a9793f..d96ca2a 100644
--- a/infra/config/generated/builders/ci/linux-wpt-chromium-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-wpt-chromium-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-wpt-content-shell-asan-fyi-rel/properties.json b/infra/config/generated/builders/ci/linux-wpt-content-shell-asan-fyi-rel/properties.json
index 178a9ac..aed6374 100644
--- a/infra/config/generated/builders/ci/linux-wpt-content-shell-asan-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-wpt-content-shell-asan-fyi-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-wpt-content-shell-fyi-rel/properties.json b/infra/config/generated/builders/ci/linux-wpt-content-shell-fyi-rel/properties.json
index bf5d53ad..6c0dcc5f 100644
--- a/infra/config/generated/builders/ci/linux-wpt-content-shell-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/linux-wpt-content-shell-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/linux-wpt-content-shell-leak-detection/properties.json b/infra/config/generated/builders/ci/linux-wpt-content-shell-leak-detection/properties.json
index 6b3414c..ffdf5d6 100644
--- a/infra/config/generated/builders/ci/linux-wpt-content-shell-leak-detection/properties.json
+++ b/infra/config/generated/builders/ci/linux-wpt-content-shell-leak-detection/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/mac-archive-rel/properties.json b/infra/config/generated/builders/ci/mac-archive-rel/properties.json
index ca644a2..14ed97a89 100644
--- a/infra/config/generated/builders/ci/mac-archive-rel/properties.json
+++ b/infra/config/generated/builders/ci/mac-archive-rel/properties.json
@@ -30,7 +30,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/mac-arm64-archive-rel/properties.json b/infra/config/generated/builders/ci/mac-arm64-archive-rel/properties.json
index 182936e2..dab2296 100644
--- a/infra/config/generated/builders/ci/mac-arm64-archive-rel/properties.json
+++ b/infra/config/generated/builders/ci/mac-arm64-archive-rel/properties.json
@@ -30,7 +30,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/mac-arm64-on-arm64-rel/properties.json b/infra/config/generated/builders/ci/mac-arm64-on-arm64-rel/properties.json
index 8ae3548..7da7579 100644
--- a/infra/config/generated/builders/ci/mac-arm64-on-arm64-rel/properties.json
+++ b/infra/config/generated/builders/ci/mac-arm64-on-arm64-rel/properties.json
@@ -22,7 +22,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "arm",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/mac-arm64-rel/properties.json b/infra/config/generated/builders/ci/mac-arm64-rel/properties.json
index 4806657..c971b3e 100644
--- a/infra/config/generated/builders/ci/mac-arm64-rel/properties.json
+++ b/infra/config/generated/builders/ci/mac-arm64-rel/properties.json
@@ -45,7 +45,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/mac-code-coverage/properties.json b/infra/config/generated/builders/ci/mac-code-coverage/properties.json
index 634ffb3d..a1cd034 100644
--- a/infra/config/generated/builders/ci/mac-code-coverage/properties.json
+++ b/infra/config/generated/builders/ci/mac-code-coverage/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/mac-fieldtrial-tester/properties.json b/infra/config/generated/builders/ci/mac-fieldtrial-tester/properties.json
index 1b17d99..f7a19251 100644
--- a/infra/config/generated/builders/ci/mac-fieldtrial-tester/properties.json
+++ b/infra/config/generated/builders/ci/mac-fieldtrial-tester/properties.json
@@ -42,7 +42,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/mac-intel-on-arm64-rel/properties.json b/infra/config/generated/builders/ci/mac-intel-on-arm64-rel/properties.json
index 5c2dd0a..23bcebd 100644
--- a/infra/config/generated/builders/ci/mac-intel-on-arm64-rel/properties.json
+++ b/infra/config/generated/builders/ci/mac-intel-on-arm64-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/mac-lsan-fyi-rel/properties.json b/infra/config/generated/builders/ci/mac-lsan-fyi-rel/properties.json
index a81362bc..759e6fe4 100644
--- a/infra/config/generated/builders/ci/mac-lsan-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/mac-lsan-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/mac-official/properties.json b/infra/config/generated/builders/ci/mac-official/properties.json
index 56f9958..4ae1aba 100644
--- a/infra/config/generated/builders/ci/mac-official/properties.json
+++ b/infra/config/generated/builders/ci/mac-official/properties.json
@@ -20,7 +20,8 @@
                   "mb"
                 ],
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/mac-perfetto-rel/properties.json b/infra/config/generated/builders/ci/mac-perfetto-rel/properties.json
index adb2a10c8..d6b4ce7 100644
--- a/infra/config/generated/builders/ci/mac-perfetto-rel/properties.json
+++ b/infra/config/generated/builders/ci/mac-perfetto-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/mac-swangle-chromium-x64/properties.json b/infra/config/generated/builders/ci/mac-swangle-chromium-x64/properties.json
index 3badcf3..7159808f 100644
--- a/infra/config/generated/builders/ci/mac-swangle-chromium-x64/properties.json
+++ b/infra/config/generated/builders/ci/mac-swangle-chromium-x64/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/mac-upload-perfetto/properties.json b/infra/config/generated/builders/ci/mac-upload-perfetto/properties.json
index fb6c81d..23e699f 100644
--- a/infra/config/generated/builders/ci/mac-upload-perfetto/properties.json
+++ b/infra/config/generated/builders/ci/mac-upload-perfetto/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-annotator-rel/properties.json b/infra/config/generated/builders/ci/win-annotator-rel/properties.json
index db2d325..d20193a 100644
--- a/infra/config/generated/builders/ci/win-annotator-rel/properties.json
+++ b/infra/config/generated/builders/ci/win-annotator-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-archive-rel/properties.json b/infra/config/generated/builders/ci/win-archive-rel/properties.json
index 57332ec..f04cb14 100644
--- a/infra/config/generated/builders/ci/win-archive-rel/properties.json
+++ b/infra/config/generated/builders/ci/win-archive-rel/properties.json
@@ -30,7 +30,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-asan/properties.json b/infra/config/generated/builders/ci/win-asan/properties.json
index 1d9735e..13206dc 100644
--- a/infra/config/generated/builders/ci/win-asan/properties.json
+++ b/infra/config/generated/builders/ci/win-asan/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_win_clang_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-network-sandbox-tester/properties.json b/infra/config/generated/builders/ci/win-network-sandbox-tester/properties.json
index 7c80762..61de3152 100644
--- a/infra/config/generated/builders/ci/win-network-sandbox-tester/properties.json
+++ b/infra/config/generated/builders/ci/win-network-sandbox-tester/properties.json
@@ -45,7 +45,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-official/properties.json b/infra/config/generated/builders/ci/win-official/properties.json
index 04adb53..0ef92e8 100644
--- a/infra/config/generated/builders/ci/win-official/properties.json
+++ b/infra/config/generated/builders/ci/win-official/properties.json
@@ -20,7 +20,8 @@
                   "mb"
                 ],
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/win-perfetto-rel/properties.json b/infra/config/generated/builders/ci/win-perfetto-rel/properties.json
index 59f2842f..c0c6ad78 100644
--- a/infra/config/generated/builders/ci/win-perfetto-rel/properties.json
+++ b/infra/config/generated/builders/ci/win-perfetto-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-rust-x64-dbg/properties.json b/infra/config/generated/builders/ci/win-rust-x64-dbg/properties.json
index 62fefdd0..2f3b47f 100644
--- a/infra/config/generated/builders/ci/win-rust-x64-dbg/properties.json
+++ b/infra/config/generated/builders/ci/win-rust-x64-dbg/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-rust-x64-rel/properties.json b/infra/config/generated/builders/ci/win-rust-x64-rel/properties.json
index 69c79c32..ebba0d8 100644
--- a/infra/config/generated/builders/ci/win-rust-x64-rel/properties.json
+++ b/infra/config/generated/builders/ci/win-rust-x64-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-swangle-chromium-x86/properties.json b/infra/config/generated/builders/ci/win-swangle-chromium-x86/properties.json
index 60ff1828..5467daf 100644
--- a/infra/config/generated/builders/ci/win-swangle-chromium-x86/properties.json
+++ b/infra/config/generated/builders/ci/win-swangle-chromium-x86/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/win-swangle-x64/properties.json b/infra/config/generated/builders/ci/win-swangle-x64/properties.json
index fa680335..7345852 100644
--- a/infra/config/generated/builders/ci/win-swangle-x64/properties.json
+++ b/infra/config/generated/builders/ci/win-swangle-x64/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-swangle-x86/properties.json b/infra/config/generated/builders/ci/win-swangle-x86/properties.json
index 8c630582..df3e45f 100644
--- a/infra/config/generated/builders/ci/win-swangle-x86/properties.json
+++ b/infra/config/generated/builders/ci/win-swangle-x86/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win-upload-perfetto/properties.json b/infra/config/generated/builders/ci/win-upload-perfetto/properties.json
index ab95522e..f3a4dbd 100644
--- a/infra/config/generated/builders/ci/win-upload-perfetto/properties.json
+++ b/infra/config/generated/builders/ci/win-upload-perfetto/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win10-code-coverage/properties.json b/infra/config/generated/builders/ci/win10-code-coverage/properties.json
index 08af7789..c5a2e84 100644
--- a/infra/config/generated/builders/ci/win10-code-coverage/properties.json
+++ b/infra/config/generated/builders/ci/win10-code-coverage/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/ci/win10-multiscreen-fyi-rel/properties.json b/infra/config/generated/builders/ci/win10-multiscreen-fyi-rel/properties.json
index b34adf7..de722bd2 100644
--- a/infra/config/generated/builders/ci/win10-multiscreen-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/win10-multiscreen-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win10-wpt-content-shell-fyi-rel/properties.json b/infra/config/generated/builders/ci/win10-wpt-content-shell-fyi-rel/properties.json
index f6424652..8d1d1f3 100644
--- a/infra/config/generated/builders/ci/win10-wpt-content-shell-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/win10-wpt-content-shell-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win11-wpt-content-shell-fyi-rel/properties.json b/infra/config/generated/builders/ci/win11-wpt-content-shell-fyi-rel/properties.json
index a295d9f..ad9495e 100644
--- a/infra/config/generated/builders/ci/win11-wpt-content-shell-fyi-rel/properties.json
+++ b/infra/config/generated/builders/ci/win11-wpt-content-shell-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win32-archive-rel/properties.json b/infra/config/generated/builders/ci/win32-archive-rel/properties.json
index 3f33b461..1e556ee3 100644
--- a/infra/config/generated/builders/ci/win32-archive-rel/properties.json
+++ b/infra/config/generated/builders/ci/win32-archive-rel/properties.json
@@ -30,7 +30,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win32-arm64-rel/properties.json b/infra/config/generated/builders/ci/win32-arm64-rel/properties.json
index 9bb40da..45727058 100644
--- a/infra/config/generated/builders/ci/win32-arm64-rel/properties.json
+++ b/infra/config/generated/builders/ci/win32-arm64-rel/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "arm",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/ci/win32-official/properties.json b/infra/config/generated/builders/ci/win32-official/properties.json
index c7b9e7c..2563517 100644
--- a/infra/config/generated/builders/ci/win32-official/properties.json
+++ b/infra/config/generated/builders/ci/win32-official/properties.json
@@ -20,7 +20,8 @@
                   "mb"
                 ],
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git "a/infra/config/generated/builders/goma/Win Builder \050dbg\051 Goma RBE Canary/properties.json" "b/infra/config/generated/builders/goma/Win Builder \050dbg\051 Goma RBE Canary/properties.json"
index 67aaf15..5939583 100644
--- "a/infra/config/generated/builders/goma/Win Builder \050dbg\051 Goma RBE Canary/properties.json"
+++ "b/infra/config/generated/builders/goma/Win Builder \050dbg\051 Goma RBE Canary/properties.json"
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/goma/Win Builder Goma RBE Canary/properties.json b/infra/config/generated/builders/goma/Win Builder Goma RBE Canary/properties.json
index 1433616e..0554c7a 100644
--- a/infra/config/generated/builders/goma/Win Builder Goma RBE Canary/properties.json
+++ b/infra/config/generated/builders/goma/Win Builder Goma RBE Canary/properties.json
@@ -24,7 +24,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/goma/linux-archive-rel-goma-rbe-ats-canary/properties.json b/infra/config/generated/builders/goma/linux-archive-rel-goma-rbe-ats-canary/properties.json
index c5e03a2..cc77c29 100644
--- a/infra/config/generated/builders/goma/linux-archive-rel-goma-rbe-ats-canary/properties.json
+++ b/infra/config/generated/builders/goma/linux-archive-rel-goma-rbe-ats-canary/properties.json
@@ -24,7 +24,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/goma/linux-archive-rel-goma-rbe-canary/properties.json b/infra/config/generated/builders/goma/linux-archive-rel-goma-rbe-canary/properties.json
index 81a21404..9bd3811 100644
--- a/infra/config/generated/builders/goma/linux-archive-rel-goma-rbe-canary/properties.json
+++ b/infra/config/generated/builders/goma/linux-archive-rel-goma-rbe-canary/properties.json
@@ -24,7 +24,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/layout_test_leak_detection/properties.json b/infra/config/generated/builders/try/layout_test_leak_detection/properties.json
index 1c523091..39dcca97 100644
--- a/infra/config/generated/builders/try/layout_test_leak_detection/properties.json
+++ b/infra/config/generated/builders/try/layout_test_leak_detection/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/leak_detection_linux/properties.json b/infra/config/generated/builders/try/leak_detection_linux/properties.json
index 3daa4579..00502a0 100644
--- a/infra/config/generated/builders/try/leak_detection_linux/properties.json
+++ b/infra/config/generated/builders/try/leak_detection_linux/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-annotator-rel/properties.json b/infra/config/generated/builders/try/linux-annotator-rel/properties.json
index bd8cbf1..07baeee 100644
--- a/infra/config/generated/builders/try/linux-annotator-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-annotator-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-arm64-castos/properties.json b/infra/config/generated/builders/try/linux-arm64-castos/properties.json
index bf97e4b..c9ec29b0 100644
--- a/infra/config/generated/builders/try/linux-arm64-castos/properties.json
+++ b/infra/config/generated/builders/try/linux-arm64-castos/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium_clang",
                 "target_arch": "arm",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-asan-dbg/properties.json b/infra/config/generated/builders/try/linux-asan-dbg/properties.json
index d18ae36d..1e8c21b 100644
--- a/infra/config/generated/builders/try/linux-asan-dbg/properties.json
+++ b/infra/config/generated/builders/try/linux-asan-dbg/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-asan-media-rel/properties.json b/infra/config/generated/builders/try/linux-asan-media-rel/properties.json
index 5f15702..0603ec8 100644
--- a/infra/config/generated/builders/try/linux-asan-media-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-asan-media-rel/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-asan-media-v8-arm-rel/properties.json b/infra/config/generated/builders/try/linux-asan-media-v8-arm-rel/properties.json
index f526f7f4..1e8093c 100644
--- a/infra/config/generated/builders/try/linux-asan-media-v8-arm-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-asan-media-v8-arm-rel/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-asan-rel/properties.json b/infra/config/generated/builders/try/linux-asan-rel/properties.json
index 4f24c0b9..858ba3c2 100644
--- a/infra/config/generated/builders/try/linux-asan-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-asan-rel/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-asan-v8-arm-dbg/properties.json b/infra/config/generated/builders/try/linux-asan-v8-arm-dbg/properties.json
index 93ab661..5250eb2 100644
--- a/infra/config/generated/builders/try/linux-asan-v8-arm-dbg/properties.json
+++ b/infra/config/generated/builders/try/linux-asan-v8-arm-dbg/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium_asan",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-asan-v8-arm-rel/properties.json b/infra/config/generated/builders/try/linux-asan-v8-arm-rel/properties.json
index 83a7c24..024dc319 100644
--- a/infra/config/generated/builders/try/linux-asan-v8-arm-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-asan-v8-arm-rel/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-bfcache-rel/properties.json b/infra/config/generated/builders/try/linux-bfcache-rel/properties.json
index 6ee8721..0925234 100644
--- a/infra/config/generated/builders/try/linux-bfcache-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-bfcache-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-blink-heap-verification-try/properties.json b/infra/config/generated/builders/try/linux-blink-heap-verification-try/properties.json
index 6a83f77..a1f0a11 100644
--- a/infra/config/generated/builders/try/linux-blink-heap-verification-try/properties.json
+++ b/infra/config/generated/builders/try/linux-blink-heap-verification-try/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-blink-web-tests-force-accessibility-rel/properties.json b/infra/config/generated/builders/try/linux-blink-web-tests-force-accessibility-rel/properties.json
index 4598d8c9..dd00b81 100644
--- a/infra/config/generated/builders/try/linux-blink-web-tests-force-accessibility-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-blink-web-tests-force-accessibility-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-cfm-rel/properties.json b/infra/config/generated/builders/try/linux-cfm-rel/properties.json
index 1cfecf3a..1548099 100644
--- a/infra/config/generated/builders/try/linux-cfm-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-cfm-rel/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-chromeos-annotator-rel/properties.json b/infra/config/generated/builders/try/linux-chromeos-annotator-rel/properties.json
index 18e951f..16043c6 100644
--- a/infra/config/generated/builders/try/linux-chromeos-annotator-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-chromeos-annotator-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-chromeos-asan-rel/properties.json b/infra/config/generated/builders/try/linux-chromeos-asan-rel/properties.json
index 3f9219e3..c9fd3471 100644
--- a/infra/config/generated/builders/try/linux-chromeos-asan-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-chromeos-asan-rel/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-chromeos-code-coverage/properties.json b/infra/config/generated/builders/try/linux-chromeos-code-coverage/properties.json
index 887f951..8a18dbf 100644
--- a/infra/config/generated/builders/try/linux-chromeos-code-coverage/properties.json
+++ b/infra/config/generated/builders/try/linux-chromeos-code-coverage/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-chromeos-compile-dbg/properties.json b/infra/config/generated/builders/try/linux-chromeos-compile-dbg/properties.json
index 6d82952..80bed23 100644
--- a/infra/config/generated/builders/try/linux-chromeos-compile-dbg/properties.json
+++ b/infra/config/generated/builders/try/linux-chromeos-compile-dbg/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Debug",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-chromeos-compile-siso-dbg/properties.json b/infra/config/generated/builders/try/linux-chromeos-compile-siso-dbg/properties.json
index 000f1b5..59f0a5a 100644
--- a/infra/config/generated/builders/try/linux-chromeos-compile-siso-dbg/properties.json
+++ b/infra/config/generated/builders/try/linux-chromeos-compile-siso-dbg/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Debug",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-chromeos-dbg/properties.json b/infra/config/generated/builders/try/linux-chromeos-dbg/properties.json
index 8ccf034..916577a 100644
--- a/infra/config/generated/builders/try/linux-chromeos-dbg/properties.json
+++ b/infra/config/generated/builders/try/linux-chromeos-dbg/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Debug",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-chromeos-rel-compilator/properties.json b/infra/config/generated/builders/try/linux-chromeos-rel-compilator/properties.json
index ea7f9d8..afe3bda 100644
--- a/infra/config/generated/builders/try/linux-chromeos-rel-compilator/properties.json
+++ b/infra/config/generated/builders/try/linux-chromeos-rel-compilator/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-chromeos-rel/properties.json b/infra/config/generated/builders/try/linux-chromeos-rel/properties.json
index c336975..187cbbd 100644
--- a/infra/config/generated/builders/try/linux-chromeos-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-chromeos-rel/properties.json
@@ -27,7 +27,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-clobber-rel/properties.json b/infra/config/generated/builders/try/linux-clobber-rel/properties.json
index c545de34..333ef77 100644
--- a/infra/config/generated/builders/try/linux-clobber-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-clobber-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-code-coverage/properties.json b/infra/config/generated/builders/try/linux-code-coverage/properties.json
index bb06b4a8..96cc6e57 100644
--- a/infra/config/generated/builders/try/linux-code-coverage/properties.json
+++ b/infra/config/generated/builders/try/linux-code-coverage/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-dcheck-off-rel/properties.json b/infra/config/generated/builders/try/linux-dcheck-off-rel/properties.json
index d776be4b..bae72e1 100644
--- a/infra/config/generated/builders/try/linux-dcheck-off-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-dcheck-off-rel/properties.json
@@ -105,7 +105,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-exp-msan-fyi-rel/properties.json b/infra/config/generated/builders/try/linux-exp-msan-fyi-rel/properties.json
index 541c50f..b882b1043 100644
--- a/infra/config/generated/builders/try/linux-exp-msan-fyi-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-exp-msan-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-exp-tsan-fyi-rel/properties.json b/infra/config/generated/builders/try/linux-exp-tsan-fyi-rel/properties.json
index bdb226f1..aa31905 100644
--- a/infra/config/generated/builders/try/linux-exp-tsan-fyi-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-exp-tsan-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-extended-tracing-rel/properties.json b/infra/config/generated/builders/try/linux-extended-tracing-rel/properties.json
index 87281b1..30087690 100644
--- a/infra/config/generated/builders/try/linux-extended-tracing-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-extended-tracing-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-fieldtrial-rel/properties.json b/infra/config/generated/builders/try/linux-fieldtrial-rel/properties.json
index 0c084e3..fdeef4c 100644
--- a/infra/config/generated/builders/try/linux-fieldtrial-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-fieldtrial-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-gcc-rel/properties.json b/infra/config/generated/builders/try/linux-gcc-rel/properties.json
index e1046fb8..e2f21b57 100644
--- a/infra/config/generated/builders/try/linux-gcc-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-gcc-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_no_goma",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-headless-shell-rel/properties.json b/infra/config/generated/builders/try/linux-headless-shell-rel/properties.json
index 5495e34..087cf2a 100644
--- a/infra/config/generated/builders/try/linux-headless-shell-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-headless-shell-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-js-code-coverage/properties.json b/infra/config/generated/builders/try/linux-js-code-coverage/properties.json
index 39223d45..1798dc5c 100644
--- a/infra/config/generated/builders/try/linux-js-code-coverage/properties.json
+++ b/infra/config/generated/builders/try/linux-js-code-coverage/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-js-coverage-rel/properties.json b/infra/config/generated/builders/try/linux-js-coverage-rel/properties.json
index fbe6595e..f60c250 100644
--- a/infra/config/generated/builders/try/linux-js-coverage-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-js-coverage-rel/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-lacros-asan-lsan-rel/properties.json b/infra/config/generated/builders/try/linux-lacros-asan-lsan-rel/properties.json
index 5a014692..f1d6ee1 100644
--- a/infra/config/generated/builders/try/linux-lacros-asan-lsan-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-lacros-asan-lsan-rel/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-lacros-code-coverage/properties.json b/infra/config/generated/builders/try/linux-lacros-code-coverage/properties.json
index 5c11746d9..0c187b3 100644
--- a/infra/config/generated/builders/try/linux-lacros-code-coverage/properties.json
+++ b/infra/config/generated/builders/try/linux-lacros-code-coverage/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-lacros-dbg/properties.json b/infra/config/generated/builders/try/linux-lacros-dbg/properties.json
index bad8657..a2d4a694 100644
--- a/infra/config/generated/builders/try/linux-lacros-dbg/properties.json
+++ b/infra/config/generated/builders/try/linux-lacros-dbg/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Debug",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-lacros-fyi-rel/properties.json b/infra/config/generated/builders/try/linux-lacros-fyi-rel/properties.json
index 47290ff..dac958f 100644
--- a/infra/config/generated/builders/try/linux-lacros-fyi-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-lacros-fyi-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -48,7 +49,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-lacros-rel-compilator/properties.json b/infra/config/generated/builders/try/linux-lacros-rel-compilator/properties.json
index 24a6c120..35724267 100644
--- a/infra/config/generated/builders/try/linux-lacros-rel-compilator/properties.json
+++ b/infra/config/generated/builders/try/linux-lacros-rel-compilator/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -50,7 +51,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-lacros-rel/properties.json b/infra/config/generated/builders/try/linux-lacros-rel/properties.json
index 8d06117..9e251477 100644
--- a/infra/config/generated/builders/try/linux-lacros-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-lacros-rel/properties.json
@@ -27,7 +27,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -54,7 +55,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "intel",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-mbi-mode-per-render-process-host-rel/properties.json b/infra/config/generated/builders/try/linux-mbi-mode-per-render-process-host-rel/properties.json
index 68b10dac..8939ab9 100644
--- a/infra/config/generated/builders/try/linux-mbi-mode-per-render-process-host-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-mbi-mode-per-render-process-host-rel/properties.json
@@ -105,7 +105,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-msan-chained-origins-rel/properties.json b/infra/config/generated/builders/try/linux-msan-chained-origins-rel/properties.json
index 3189a61..1fb72a3 100644
--- a/infra/config/generated/builders/try/linux-msan-chained-origins-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-msan-chained-origins-rel/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-msan-no-origins-rel/properties.json b/infra/config/generated/builders/try/linux-msan-no-origins-rel/properties.json
index 8323596..0062cf7 100644
--- a/infra/config/generated/builders/try/linux-msan-no-origins-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-msan-no-origins-rel/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-official/properties.json b/infra/config/generated/builders/try/linux-official/properties.json
index 222f583..df30474 100644
--- a/infra/config/generated/builders/try/linux-official/properties.json
+++ b/infra/config/generated/builders/try/linux-official/properties.json
@@ -20,7 +20,8 @@
                   "mb"
                 ],
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-perfetto-rel/properties.json b/infra/config/generated/builders/try/linux-perfetto-rel/properties.json
index 0ee1afb..a2f1e5f 100644
--- a/infra/config/generated/builders/try/linux-perfetto-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-perfetto-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-rel-compilator/properties.json b/infra/config/generated/builders/try/linux-rel-compilator/properties.json
index 5288b5de..05f49c4 100644
--- a/infra/config/generated/builders/try/linux-rel-compilator/properties.json
+++ b/infra/config/generated/builders/try/linux-rel-compilator/properties.json
@@ -105,7 +105,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-rel/properties.json b/infra/config/generated/builders/try/linux-rel/properties.json
index 5901a99..61c43a9 100644
--- a/infra/config/generated/builders/try/linux-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-rel/properties.json
@@ -109,7 +109,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-rust-x64-dbg/properties.json b/infra/config/generated/builders/try/linux-rust-x64-dbg/properties.json
index ac72916..037a0e6 100644
--- a/infra/config/generated/builders/try/linux-rust-x64-dbg/properties.json
+++ b/infra/config/generated/builders/try/linux-rust-x64-dbg/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-rust-x64-rel/properties.json b/infra/config/generated/builders/try/linux-rust-x64-rel/properties.json
index 39df3828..af9cd90 100644
--- a/infra/config/generated/builders/try/linux-rust-x64-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-rust-x64-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-swangle-chromium-try-x64-exp/properties.json b/infra/config/generated/builders/try/linux-swangle-chromium-try-x64-exp/properties.json
index a498915..f97fb6e4 100644
--- a/infra/config/generated/builders/try/linux-swangle-chromium-try-x64-exp/properties.json
+++ b/infra/config/generated/builders/try/linux-swangle-chromium-try-x64-exp/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-swangle-chromium-try-x64/properties.json b/infra/config/generated/builders/try/linux-swangle-chromium-try-x64/properties.json
index 4221148..024eb6c 100644
--- a/infra/config/generated/builders/try/linux-swangle-chromium-try-x64/properties.json
+++ b/infra/config/generated/builders/try/linux-swangle-chromium-try-x64/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-swangle-try-x64-exp/properties.json b/infra/config/generated/builders/try/linux-swangle-try-x64-exp/properties.json
index 261e1488..150e660 100644
--- a/infra/config/generated/builders/try/linux-swangle-try-x64-exp/properties.json
+++ b/infra/config/generated/builders/try/linux-swangle-try-x64-exp/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-swangle-try-x64/properties.json b/infra/config/generated/builders/try/linux-swangle-try-x64/properties.json
index 0e816d4..07e7b7d2 100644
--- a/infra/config/generated/builders/try/linux-swangle-try-x64/properties.json
+++ b/infra/config/generated/builders/try/linux-swangle-try-x64/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-tsan-dbg/properties.json b/infra/config/generated/builders/try/linux-tsan-dbg/properties.json
index c6e2460f..5c0ea6f 100644
--- a/infra/config/generated/builders/try/linux-tsan-dbg/properties.json
+++ b/infra/config/generated/builders/try/linux-tsan-dbg/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-tsan-rel/properties.json b/infra/config/generated/builders/try/linux-tsan-rel/properties.json
index f83dfe7d..f1e2aad 100644
--- a/infra/config/generated/builders/try/linux-tsan-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-tsan-rel/properties.json
@@ -28,7 +28,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-ubsan-fyi-rel/properties.json b/infra/config/generated/builders/try/linux-ubsan-fyi-rel/properties.json
index e7b06bf..f38d1a4 100644
--- a/infra/config/generated/builders/try/linux-ubsan-fyi-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-ubsan-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-ubsan-rel/properties.json b/infra/config/generated/builders/try/linux-ubsan-rel/properties.json
index 08c2daf..0928e62e8 100644
--- a/infra/config/generated/builders/try/linux-ubsan-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-ubsan-rel/properties.json
@@ -26,7 +26,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_linux_ubsan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-ubsan-vptr-rel/properties.json b/infra/config/generated/builders/try/linux-ubsan-vptr-rel/properties.json
index d96ff12..b1ad997fd 100644
--- a/infra/config/generated/builders/try/linux-ubsan-vptr-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-ubsan-vptr-rel/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_linux_ubsan_vptr",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-ubsan-vptr/properties.json b/infra/config/generated/builders/try/linux-ubsan-vptr/properties.json
index a15412f..3834303 100644
--- a/infra/config/generated/builders/try/linux-ubsan-vptr/properties.json
+++ b/infra/config/generated/builders/try/linux-ubsan-vptr/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-v4l2-codec-rel/properties.json b/infra/config/generated/builders/try/linux-v4l2-codec-rel/properties.json
index 27664920..ef6ac36 100644
--- a/infra/config/generated/builders/try/linux-v4l2-codec-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-v4l2-codec-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-viz-rel/properties.json b/infra/config/generated/builders/try/linux-viz-rel/properties.json
index 099d56c..21b8e98a 100644
--- a/infra/config/generated/builders/try/linux-viz-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-viz-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-wayland-rel/properties.json b/infra/config/generated/builders/try/linux-wayland-rel/properties.json
index 999d1a1..6fdf22e2 100644
--- a/infra/config/generated/builders/try/linux-wayland-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-wayland-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -48,7 +49,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux-webkit-asan-rel/properties.json b/infra/config/generated/builders/try/linux-webkit-asan-rel/properties.json
index cf2623c4..e067162 100644
--- a/infra/config/generated/builders/try/linux-webkit-asan-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-webkit-asan-rel/properties.json
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-webkit-msan-rel/properties.json b/infra/config/generated/builders/try/linux-webkit-msan-rel/properties.json
index 27d465e..7146236 100644
--- a/infra/config/generated/builders/try/linux-webkit-msan-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-webkit-msan-rel/properties.json
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-wpt-chromium-rel/properties.json b/infra/config/generated/builders/try/linux-wpt-chromium-rel/properties.json
index fcdf28a9..5a06660 100644
--- a/infra/config/generated/builders/try/linux-wpt-chromium-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-wpt-chromium-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-wpt-content-shell-fyi-rel/properties.json b/infra/config/generated/builders/try/linux-wpt-content-shell-fyi-rel/properties.json
index 80b3fe2c..6e11230 100644
--- a/infra/config/generated/builders/try/linux-wpt-content-shell-fyi-rel/properties.json
+++ b/infra/config/generated/builders/try/linux-wpt-content-shell-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-wpt-content-shell-leak-detection/properties.json b/infra/config/generated/builders/try/linux-wpt-content-shell-leak-detection/properties.json
index a9f92f87..0b2ff11 100644
--- a/infra/config/generated/builders/try/linux-wpt-content-shell-leak-detection/properties.json
+++ b/infra/config/generated/builders/try/linux-wpt-content-shell-leak-detection/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-x64-castos-dbg/properties.json b/infra/config/generated/builders/try/linux-x64-castos-dbg/properties.json
index 91d79e7..d93ac7c 100644
--- a/infra/config/generated/builders/try/linux-x64-castos-dbg/properties.json
+++ b/infra/config/generated/builders/try/linux-x64-castos-dbg/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux-x64-castos/properties.json b/infra/config/generated/builders/try/linux-x64-castos/properties.json
index 9e8dbe3..27019d7 100644
--- a/infra/config/generated/builders/try/linux-x64-castos/properties.json
+++ b/infra/config/generated/builders/try/linux-x64-castos/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_clang",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_archive_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_archive_rel_ng/properties.json
index 794a05e0..a41919c 100644
--- a/infra/config/generated/builders/try/linux_chromium_archive_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_archive_rel_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_asan_rel_ng-compilator/properties.json b/infra/config/generated/builders/try/linux_chromium_asan_rel_ng-compilator/properties.json
index 638dc83..ab9da95e2 100644
--- a/infra/config/generated/builders/try/linux_chromium_asan_rel_ng-compilator/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_asan_rel_ng-compilator/properties.json
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -47,7 +48,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_asan_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_asan_rel_ng/properties.json
index 0e581929..4bfba9d 100644
--- a/infra/config/generated/builders/try/linux_chromium_asan_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_asan_rel_ng/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -51,7 +52,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_asan_siso_rel_ng-compilator/properties.json b/infra/config/generated/builders/try/linux_chromium_asan_siso_rel_ng-compilator/properties.json
index e58e832..640ab37 100644
--- a/infra/config/generated/builders/try/linux_chromium_asan_siso_rel_ng-compilator/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_asan_siso_rel_ng-compilator/properties.json
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -47,7 +48,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_asan_siso_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_asan_siso_rel_ng/properties.json
index dc40a85..0115fb9 100644
--- a/infra/config/generated/builders/try/linux_chromium_asan_siso_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_asan_siso_rel_ng/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -51,7 +52,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_cfi_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_cfi_rel_ng/properties.json
index d16c51a4..3b8ba676 100644
--- a/infra/config/generated/builders/try/linux_chromium_cfi_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_cfi_rel_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_chromeos_asan_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_chromeos_asan_rel_ng/properties.json
index 0710513d..bbd8ac0 100644
--- a/infra/config/generated/builders/try/linux_chromium_chromeos_asan_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_chromeos_asan_rel_ng/properties.json
@@ -23,7 +23,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -50,7 +51,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux_chromium_chromeos_msan_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_chromeos_msan_rel_ng/properties.json
index 9f4b992..b55e03e 100644
--- a/infra/config/generated/builders/try/linux_chromium_chromeos_msan_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_chromeos_msan_rel_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
@@ -48,7 +49,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "chromeos"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux_chromium_compile_dbg_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_compile_dbg_ng/properties.json
index 3d77ad2..0fb1b4a 100644
--- a/infra/config/generated/builders/try/linux_chromium_compile_dbg_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_compile_dbg_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_compile_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_compile_rel_ng/properties.json
index ed11b04..ef9f067e 100644
--- a/infra/config/generated/builders/try/linux_chromium_compile_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_compile_rel_ng/properties.json
@@ -48,7 +48,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/linux_chromium_compile_siso_dbg_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_compile_siso_dbg_ng/properties.json
index a2d87e6..9fe19e5d 100644
--- a/infra/config/generated/builders/try/linux_chromium_compile_siso_dbg_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_compile_siso_dbg_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_dbg_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_dbg_ng/properties.json
index d940558..849da10 100644
--- a/infra/config/generated/builders/try/linux_chromium_dbg_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_dbg_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_msan_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_msan_rel_ng/properties.json
index 4ea3714..3b20e339 100644
--- a/infra/config/generated/builders/try/linux_chromium_msan_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_msan_rel_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_msan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_tsan_rel_ng-compilator/properties.json b/infra/config/generated/builders/try/linux_chromium_tsan_rel_ng-compilator/properties.json
index 7b80848..55cbcd3 100644
--- a/infra/config/generated/builders/try/linux_chromium_tsan_rel_ng-compilator/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_tsan_rel_ng-compilator/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_tsan_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_tsan_rel_ng/properties.json
index 0809a3e..32bfa0c 100644
--- a/infra/config/generated/builders/try/linux_chromium_tsan_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_tsan_rel_ng/properties.json
@@ -26,7 +26,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -49,7 +50,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_tsan_siso_rel_ng-compilator/properties.json b/infra/config/generated/builders/try/linux_chromium_tsan_siso_rel_ng-compilator/properties.json
index 64309e05..b527551 100644
--- a/infra/config/generated/builders/try/linux_chromium_tsan_siso_rel_ng-compilator/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_tsan_siso_rel_ng-compilator/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/linux_chromium_tsan_siso_rel_ng/properties.json b/infra/config/generated/builders/try/linux_chromium_tsan_siso_rel_ng/properties.json
index d957e75..35697493 100644
--- a/infra/config/generated/builders/try/linux_chromium_tsan_siso_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/linux_chromium_tsan_siso_rel_ng/properties.json
@@ -26,7 +26,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -49,7 +50,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_tsan2",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-arm64-clobber-rel/properties.json b/infra/config/generated/builders/try/mac-arm64-clobber-rel/properties.json
index cd6a1c87..da2fa61 100644
--- a/infra/config/generated/builders/try/mac-arm64-clobber-rel/properties.json
+++ b/infra/config/generated/builders/try/mac-arm64-clobber-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-arm64-on-arm64-rel/properties.json b/infra/config/generated/builders/try/mac-arm64-on-arm64-rel/properties.json
index b8d19bb..35974a12 100644
--- a/infra/config/generated/builders/try/mac-arm64-on-arm64-rel/properties.json
+++ b/infra/config/generated/builders/try/mac-arm64-on-arm64-rel/properties.json
@@ -22,7 +22,8 @@
                 "build_config": "Release",
                 "config": "chromium",
                 "target_arch": "arm",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-asan-media-rel/properties.json b/infra/config/generated/builders/try/mac-asan-media-rel/properties.json
index e0874629..b7a54e2e 100644
--- a/infra/config/generated/builders/try/mac-asan-media-rel/properties.json
+++ b/infra/config/generated/builders/try/mac-asan-media-rel/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-asan-rel/properties.json b/infra/config/generated/builders/try/mac-asan-rel/properties.json
index b4a21e1..1f679bb 100644
--- a/infra/config/generated/builders/try/mac-asan-rel/properties.json
+++ b/infra/config/generated/builders/try/mac-asan-rel/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-builder-next/properties.json b/infra/config/generated/builders/try/mac-builder-next/properties.json
index 9ce907b0..3bdd04a 100644
--- a/infra/config/generated/builders/try/mac-builder-next/properties.json
+++ b/infra/config/generated/builders/try/mac-builder-next/properties.json
@@ -23,7 +23,8 @@
                 "build_config": "Debug",
                 "config": "chromium",
                 "target_arch": "arm",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-clobber-rel/properties.json b/infra/config/generated/builders/try/mac-clobber-rel/properties.json
index 28d3c05..07dfb679 100644
--- a/infra/config/generated/builders/try/mac-clobber-rel/properties.json
+++ b/infra/config/generated/builders/try/mac-clobber-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-code-coverage/properties.json b/infra/config/generated/builders/try/mac-code-coverage/properties.json
index c0bb81e..6bcc1bd 100644
--- a/infra/config/generated/builders/try/mac-code-coverage/properties.json
+++ b/infra/config/generated/builders/try/mac-code-coverage/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/mac-fieldtrial-tester/properties.json b/infra/config/generated/builders/try/mac-fieldtrial-tester/properties.json
index 37a89d0..defe6d10 100644
--- a/infra/config/generated/builders/try/mac-fieldtrial-tester/properties.json
+++ b/infra/config/generated/builders/try/mac-fieldtrial-tester/properties.json
@@ -45,7 +45,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-intel-on-arm64-rel/properties.json b/infra/config/generated/builders/try/mac-intel-on-arm64-rel/properties.json
index 015fe9b1..158c001 100644
--- a/infra/config/generated/builders/try/mac-intel-on-arm64-rel/properties.json
+++ b/infra/config/generated/builders/try/mac-intel-on-arm64-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-lsan-fyi-rel/properties.json b/infra/config/generated/builders/try/mac-lsan-fyi-rel/properties.json
index 0821006..4b89e4a7 100644
--- a/infra/config/generated/builders/try/mac-lsan-fyi-rel/properties.json
+++ b/infra/config/generated/builders/try/mac-lsan-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-official/properties.json b/infra/config/generated/builders/try/mac-official/properties.json
index bd651d3d..0dde9f58 100644
--- a/infra/config/generated/builders/try/mac-official/properties.json
+++ b/infra/config/generated/builders/try/mac-official/properties.json
@@ -20,7 +20,8 @@
                   "mb"
                 ],
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/mac-perfetto-rel/properties.json b/infra/config/generated/builders/try/mac-perfetto-rel/properties.json
index 99a3d61..12e29a6 100644
--- a/infra/config/generated/builders/try/mac-perfetto-rel/properties.json
+++ b/infra/config/generated/builders/try/mac-perfetto-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/mac-swangle-chromium-try-x64/properties.json b/infra/config/generated/builders/try/mac-swangle-chromium-try-x64/properties.json
index 8c5ae8d..6f74865 100644
--- a/infra/config/generated/builders/try/mac-swangle-chromium-try-x64/properties.json
+++ b/infra/config/generated/builders/try/mac-swangle-chromium-try-x64/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/mac_chromium_asan_rel_ng/properties.json b/infra/config/generated/builders/try/mac_chromium_asan_rel_ng/properties.json
index 0d9e175..508e9db6 100644
--- a/infra/config/generated/builders/try/mac_chromium_asan_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/mac_chromium_asan_rel_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "mac"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/network_service_linux/properties.json b/infra/config/generated/builders/try/network_service_linux/properties.json
index 82663089..f21ce259 100644
--- a/infra/config/generated/builders/try/network_service_linux/properties.json
+++ b/infra/config/generated/builders/try/network_service_linux/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "linux"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-annotator-rel/properties.json b/infra/config/generated/builders/try/win-annotator-rel/properties.json
index 5865eca4..d28526a 100644
--- a/infra/config/generated/builders/try/win-annotator-rel/properties.json
+++ b/infra/config/generated/builders/try/win-annotator-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-asan-media-rel/properties.json b/infra/config/generated/builders/try/win-asan-media-rel/properties.json
index 612341c..0448305 100644
--- a/infra/config/generated/builders/try/win-asan-media-rel/properties.json
+++ b/infra/config/generated/builders/try/win-asan-media-rel/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_win_clang_asan",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-asan-rel/properties.json b/infra/config/generated/builders/try/win-asan-rel/properties.json
index d0fde8f..5b9a19e 100644
--- a/infra/config/generated/builders/try/win-asan-rel/properties.json
+++ b/infra/config/generated/builders/try/win-asan-rel/properties.json
@@ -27,7 +27,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_win_clang_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-asan/properties.json b/infra/config/generated/builders/try/win-asan/properties.json
index b103184..818d37a 100644
--- a/infra/config/generated/builders/try/win-asan/properties.json
+++ b/infra/config/generated/builders/try/win-asan/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium_win_clang_asan",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-clobber-rel/properties.json b/infra/config/generated/builders/try/win-clobber-rel/properties.json
index 8a62e25..d7cdbde 100644
--- a/infra/config/generated/builders/try/win-clobber-rel/properties.json
+++ b/infra/config/generated/builders/try/win-clobber-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-official/properties.json b/infra/config/generated/builders/try/win-official/properties.json
index 807562e..dcc9f66 100644
--- a/infra/config/generated/builders/try/win-official/properties.json
+++ b/infra/config/generated/builders/try/win-official/properties.json
@@ -20,7 +20,8 @@
                   "mb"
                 ],
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/win-perfetto-rel/properties.json b/infra/config/generated/builders/try/win-perfetto-rel/properties.json
index e7da2e1d..4090691 100644
--- a/infra/config/generated/builders/try/win-perfetto-rel/properties.json
+++ b/infra/config/generated/builders/try/win-perfetto-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-rust-x64-dbg/properties.json b/infra/config/generated/builders/try/win-rust-x64-dbg/properties.json
index 42eb15e..31f4d42 100644
--- a/infra/config/generated/builders/try/win-rust-x64-dbg/properties.json
+++ b/infra/config/generated/builders/try/win-rust-x64-dbg/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-rust-x64-rel/properties.json b/infra/config/generated/builders/try/win-rust-x64-rel/properties.json
index f7a5798..e760d863 100644
--- a/infra/config/generated/builders/try/win-rust-x64-rel/properties.json
+++ b/infra/config/generated/builders/try/win-rust-x64-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-swangle-chromium-try-x86/properties.json b/infra/config/generated/builders/try/win-swangle-chromium-try-x86/properties.json
index 2dcca10..ccab92c 100644
--- a/infra/config/generated/builders/try/win-swangle-chromium-try-x86/properties.json
+++ b/infra/config/generated/builders/try/win-swangle-chromium-try-x86/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/win-swangle-try-x64/properties.json b/infra/config/generated/builders/try/win-swangle-try-x64/properties.json
index 8b58893e06..f1c29a6 100644
--- a/infra/config/generated/builders/try/win-swangle-try-x64/properties.json
+++ b/infra/config/generated/builders/try/win-swangle-try-x64/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win-swangle-try-x86/properties.json b/infra/config/generated/builders/try/win-swangle-try-x86/properties.json
index cc3b275..4937777c 100644
--- a/infra/config/generated/builders/try/win-swangle-try-x86/properties.json
+++ b/infra/config/generated/builders/try/win-swangle-try-x86/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win10-code-coverage/properties.json b/infra/config/generated/builders/try/win10-code-coverage/properties.json
index 9be6c93..0c5dd27e 100644
--- a/infra/config/generated/builders/try/win10-code-coverage/properties.json
+++ b/infra/config/generated/builders/try/win10-code-coverage/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/win10-dbg/properties.json b/infra/config/generated/builders/try/win10-dbg/properties.json
index fcb6f5c..5382cea0 100644
--- a/infra/config/generated/builders/try/win10-dbg/properties.json
+++ b/infra/config/generated/builders/try/win10-dbg/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -45,7 +46,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win10-multiscreen-fyi-rel/properties.json b/infra/config/generated/builders/try/win10-multiscreen-fyi-rel/properties.json
index 657b2e4..0954d9e 100644
--- a/infra/config/generated/builders/try/win10-multiscreen-fyi-rel/properties.json
+++ b/infra/config/generated/builders/try/win10-multiscreen-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win10-wpt-content-shell-fyi-rel/properties.json b/infra/config/generated/builders/try/win10-wpt-content-shell-fyi-rel/properties.json
index 36a873d..130d679 100644
--- a/infra/config/generated/builders/try/win10-wpt-content-shell-fyi-rel/properties.json
+++ b/infra/config/generated/builders/try/win10-wpt-content-shell-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win11-wpt-content-shell-fyi-rel/properties.json b/infra/config/generated/builders/try/win11-wpt-content-shell-fyi-rel/properties.json
index a34845e..e46a6165 100644
--- a/infra/config/generated/builders/try/win11-wpt-content-shell-fyi-rel/properties.json
+++ b/infra/config/generated/builders/try/win11-wpt-content-shell-fyi-rel/properties.json
@@ -21,7 +21,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 64
+                "target_bits": 64,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win32-clobber-rel/properties.json b/infra/config/generated/builders/try/win32-clobber-rel/properties.json
index 3ff32d8b..889eba5 100644
--- a/infra/config/generated/builders/try/win32-clobber-rel/properties.json
+++ b/infra/config/generated/builders/try/win32-clobber-rel/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win32-official/properties.json b/infra/config/generated/builders/try/win32-official/properties.json
index b6112206..f164e8c 100644
--- a/infra/config/generated/builders/try/win32-official/properties.json
+++ b/infra/config/generated/builders/try/win32-official/properties.json
@@ -20,7 +20,8 @@
                   "mb"
                 ],
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "apply_configs": [
diff --git a/infra/config/generated/builders/try/win_chromium_compile_dbg_ng/properties.json b/infra/config/generated/builders/try/win_chromium_compile_dbg_ng/properties.json
index 20081c8..c1401389 100644
--- a/infra/config/generated/builders/try/win_chromium_compile_dbg_ng/properties.json
+++ b/infra/config/generated/builders/try/win_chromium_compile_dbg_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win_chromium_compile_rel_ng/properties.json b/infra/config/generated/builders/try/win_chromium_compile_rel_ng/properties.json
index e46b0e5..2aa4a2a6 100644
--- a/infra/config/generated/builders/try/win_chromium_compile_rel_ng/properties.json
+++ b/infra/config/generated/builders/try/win_chromium_compile_rel_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
@@ -50,7 +51,8 @@
                 ],
                 "build_config": "Release",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/builders/try/win_chromium_compile_siso_dbg_ng/properties.json b/infra/config/generated/builders/try/win_chromium_compile_siso_dbg_ng/properties.json
index ef15d075..6927052 100644
--- a/infra/config/generated/builders/try/win_chromium_compile_siso_dbg_ng/properties.json
+++ b/infra/config/generated/builders/try/win_chromium_compile_siso_dbg_ng/properties.json
@@ -22,7 +22,8 @@
                 ],
                 "build_config": "Debug",
                 "config": "chromium",
-                "target_bits": 32
+                "target_bits": 32,
+                "target_platform": "win"
               },
               "legacy_gclient_config": {
                 "config": "chromium"
diff --git a/infra/config/generated/luci/cr-buildbucket.cfg b/infra/config/generated/luci/cr-buildbucket.cfg
index 351efd6..19e065e 100644
--- a/infra/config/generated/luci/cr-buildbucket.cfg
+++ b/infra/config/generated/luci/cr-buildbucket.cfg
@@ -29382,7 +29382,8 @@
         '              "legacy_chromium_config": {'
         '                "build_config": "Release",'
         '                "config": "android",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "android"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -29409,7 +29410,8 @@
         '              "legacy_chromium_config": {'
         '                "build_config": "Release",'
         '                "config": "android",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "android"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -29568,7 +29570,8 @@
         '              "legacy_chromium_config": {'
         '                "build_config": "Release",'
         '                "config": "android",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "android"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -29595,7 +29598,8 @@
         '              "legacy_chromium_config": {'
         '                "build_config": "Release",'
         '                "config": "android",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "android"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -37344,7 +37348,8 @@
         '                ],'
         '                "build_config": "Release",'
         '                "config": "chromium",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "fuchsia"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -42788,7 +42793,8 @@
         '                "build_config": "Release",'
         '                "config": "chromium",'
         '                "target_arch": "intel",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "chromeos"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -46747,7 +46753,8 @@
         '                ],'
         '                "build_config": "Release",'
         '                "config": "chromium",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "linux"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -54519,7 +54526,8 @@
         '                ],'
         '                "build_config": "Release",'
         '                "config": "chromium",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "win"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -54667,7 +54675,8 @@
         '                ],'
         '                "build_config": "Release",'
         '                "config": "chromium",'
-        '                "target_bits": 32'
+        '                "target_bits": 32,'
+        '                "target_platform": "win"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -63333,7 +63342,8 @@
         '              "legacy_chromium_config": {'
         '                "build_config": "Release",'
         '                "config": "android",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "android"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -63360,7 +63370,8 @@
         '              "legacy_chromium_config": {'
         '                "build_config": "Release",'
         '                "config": "android",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "android"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -74010,7 +74021,8 @@
         '                ],'
         '                "build_config": "Release",'
         '                "config": "chromium",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "fuchsia"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -89072,7 +89084,8 @@
         '                ],'
         '                "build_config": "Release",'
         '                "config": "chromium",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "linux"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -101570,7 +101583,8 @@
         '                ],'
         '                "build_config": "Release",'
         '                "config": "chromium",'
-        '                "target_bits": 64'
+        '                "target_bits": 64,'
+        '                "target_platform": "win"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
@@ -101701,7 +101715,8 @@
         '                ],'
         '                "build_config": "Release",'
         '                "config": "chromium",'
-        '                "target_bits": 32'
+        '                "target_bits": 32,'
+        '                "target_platform": "win"'
         '              },'
         '              "legacy_gclient_config": {'
         '                "apply_configs": ['
diff --git a/infra/config/generated/testing/variants.pyl b/infra/config/generated/testing/variants.pyl
index b9db7acd..bcfb553 100644
--- a/infra/config/generated/testing/variants.pyl
+++ b/infra/config/generated/testing/variants.pyl
@@ -355,16 +355,16 @@
   },
   'LACROS_VERSION_SKEW_STABLE': {
     'identifier': 'Lacros version skew testing ash stable',
-    'description': 'Run with ash-chrome version 120.0.6099.235',
+    'description': 'Run with ash-chrome version 120.0.6099.259',
     'args': [
-      '--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome',
+      '--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome',
     ],
     'swarming': {
       'cipd_packages': [
         {
           'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip',
-          'location': 'lacros_version_skew_tests_v120.0.6099.235',
-          'revision': 'version:120.0.6099.235',
+          'location': 'lacros_version_skew_tests_v120.0.6099.259',
+          'revision': 'version:120.0.6099.259',
         },
       ],
     },
diff --git a/infra/config/subprojects/chromium/ci/chromium.accessibility.star b/infra/config/subprojects/chromium/ci/chromium.accessibility.star
index 31059753..51559d8d 100644
--- a/infra/config/subprojects/chromium/ci/chromium.accessibility.star
+++ b/infra/config/subprojects/chromium/ci/chromium.accessibility.star
@@ -81,6 +81,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
diff --git a/infra/config/subprojects/chromium/ci/chromium.angle.star b/infra/config/subprojects/chromium/ci/chromium.angle.star
index 96279a4d..0e3d299 100644
--- a/infra/config/subprojects/chromium/ci/chromium.angle.star
+++ b/infra/config/subprojects/chromium/ci/chromium.angle.star
@@ -56,6 +56,7 @@
             config = "android",
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.ANDROID,
         ),
         android_config = builder_config.android_config(
             config = "main_builder_mb",
@@ -97,6 +98,7 @@
             config = "android",
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.ANDROID,
         ),
         android_config = builder_config.android_config(
             config = "main_builder_mb",
@@ -129,6 +131,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.FUCHSIA,
         ),
         build_gs_bucket = "chromium-angle-archive",
     ),
diff --git a/infra/config/subprojects/chromium/ci/chromium.chromiumos.star b/infra/config/subprojects/chromium/ci/chromium.chromiumos.star
index 9bd6322..05db310 100644
--- a/infra/config/subprojects/chromium/ci/chromium.chromiumos.star
+++ b/infra/config/subprojects/chromium/ci/chromium.chromiumos.star
@@ -59,6 +59,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-chromiumos-archive",
     ),
@@ -1080,6 +1081,7 @@
             build_config = builder_config.build_config.DEBUG,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-chromiumos-archive",
     ),
@@ -1127,6 +1129,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-chromiumos-archive",
     ),
@@ -1169,6 +1172,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-chromiumos-archive",
     ),
@@ -1214,6 +1218,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-chromiumos-archive",
     ),
@@ -1245,6 +1250,7 @@
             build_config = builder_config.build_config.DEBUG,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-chromiumos-archive",
     ),
@@ -1287,6 +1293,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-chromiumos-archive",
     ),
diff --git a/infra/config/subprojects/chromium/ci/chromium.coverage.star b/infra/config/subprojects/chromium/ci/chromium.coverage.star
index b0b1cfb..aa15e7b 100644
--- a/infra/config/subprojects/chromium/ci/chromium.coverage.star
+++ b/infra/config/subprojects/chromium/ci/chromium.coverage.star
@@ -314,6 +314,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -352,6 +353,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -457,6 +459,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -497,6 +500,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -535,6 +539,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -575,6 +580,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
diff --git a/infra/config/subprojects/chromium/ci/chromium.fuzz.star b/infra/config/subprojects/chromium/ci/chromium.fuzz.star
index f267af26..4d2053e 100644
--- a/infra/config/subprojects/chromium/ci/chromium.fuzz.star
+++ b/infra/config/subprojects/chromium/ci/chromium.fuzz.star
@@ -74,6 +74,7 @@
             ],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan",
@@ -112,6 +113,7 @@
             ],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 32,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan-v8-arm",
@@ -151,6 +153,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan",
@@ -191,6 +194,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 32,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan-v8-arm",
@@ -231,6 +235,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan",
@@ -298,6 +303,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 32,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan-v8-arm",
@@ -342,6 +348,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan",
@@ -384,6 +391,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "msan-chained-origins",
@@ -423,6 +431,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "msan-no-origins",
@@ -461,6 +470,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan",
@@ -508,6 +518,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan",
@@ -551,6 +562,7 @@
             ],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "tsan",
@@ -590,6 +602,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "tsan",
@@ -625,6 +638,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "ubsan",
@@ -659,6 +673,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "ubsan-vptr",
@@ -698,6 +713,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan",
@@ -740,6 +756,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 32,
+            target_platform = builder_config.target_platform.WIN,
         ),
         clusterfuzz_archive = builder_config.clusterfuzz_archive(
             archive_name_prefix = "asan",
diff --git a/infra/config/subprojects/chromium/ci/chromium.fyi.star b/infra/config/subprojects/chromium/ci/chromium.fyi.star
index 5eadb5b..db6ae5c 100644
--- a/infra/config/subprojects/chromium/ci/chromium.fyi.star
+++ b/infra/config/subprojects/chromium/ci/chromium.fyi.star
@@ -106,6 +106,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -269,6 +270,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -303,6 +305,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -337,6 +340,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -362,6 +366,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -388,6 +393,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -417,6 +423,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -446,6 +453,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
     ),
     console_view_entry = consoles.console_view_entry(
@@ -466,6 +474,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     console_view_entry = consoles.console_view_entry(
@@ -485,6 +494,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -590,6 +600,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -619,6 +630,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -639,6 +651,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -668,6 +681,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -721,6 +735,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -750,6 +765,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
     ),
     gn_args = gn_args.config(
@@ -775,6 +791,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -804,6 +821,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -831,6 +849,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -858,6 +877,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -960,6 +980,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -1014,6 +1035,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
@@ -1062,6 +1084,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -1091,6 +1114,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -1121,6 +1145,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -1626,6 +1651,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -1662,6 +1688,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
@@ -1708,6 +1735,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -2096,6 +2124,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -2480,6 +2509,7 @@
             build_config = builder_config.build_config.DEBUG,
             target_arch = builder_config.target_arch.ARM,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -2556,6 +2586,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -2593,6 +2624,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
@@ -2624,6 +2656,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
@@ -2654,6 +2687,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
@@ -2684,6 +2718,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.ARM,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
@@ -2747,6 +2782,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-fyi-archive",
     ),
diff --git a/infra/config/subprojects/chromium/ci/chromium.linux.star b/infra/config/subprojects/chromium/ci/chromium.linux.star
index 0c571cc..620fbda 100644
--- a/infra/config/subprojects/chromium/ci/chromium.linux.star
+++ b/infra/config/subprojects/chromium/ci/chromium.linux.star
@@ -56,6 +56,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -91,6 +92,7 @@
             ],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -128,6 +130,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.ARM,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -203,6 +206,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -269,6 +273,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -305,6 +310,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -345,6 +351,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -381,6 +388,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -411,6 +419,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -437,6 +446,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -466,6 +476,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -495,6 +506,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -528,6 +540,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
@@ -565,6 +578,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-linux-archive",
     ),
diff --git a/infra/config/subprojects/chromium/ci/chromium.mac.star b/infra/config/subprojects/chromium/ci/chromium.mac.star
index 84c31be..251a5599 100644
--- a/infra/config/subprojects/chromium/ci/chromium.mac.star
+++ b/infra/config/subprojects/chromium/ci/chromium.mac.star
@@ -157,6 +157,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.ARM,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
     ),
     gn_args = gn_args.config(
@@ -258,6 +259,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
     ),
     gn_args = gn_args.config(
diff --git a/infra/config/subprojects/chromium/ci/chromium.memory.fyi.star b/infra/config/subprojects/chromium/ci/chromium.memory.fyi.star
index 3c95c9fd..efe2d91 100644
--- a/infra/config/subprojects/chromium/ci/chromium.memory.fyi.star
+++ b/infra/config/subprojects/chromium/ci/chromium.memory.fyi.star
@@ -46,6 +46,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -84,6 +85,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -119,6 +121,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -153,6 +156,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         run_tests_serially = True,
     ),
diff --git a/infra/config/subprojects/chromium/ci/chromium.memory.star b/infra/config/subprojects/chromium/ci/chromium.memory.star
index d8897203..88b5cb0 100644
--- a/infra/config/subprojects/chromium/ci/chromium.memory.star
+++ b/infra/config/subprojects/chromium/ci/chromium.memory.star
@@ -64,6 +64,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -102,6 +103,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -129,6 +131,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -160,6 +163,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -201,6 +205,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -244,6 +249,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -270,6 +276,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -311,6 +318,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -340,6 +348,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -377,6 +386,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -407,6 +417,7 @@
             build_config = builder_config.build_config.RELEASE,
             target_arch = builder_config.target_arch.INTEL,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -445,6 +456,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -485,6 +497,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -511,6 +524,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -540,6 +554,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -572,6 +587,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -603,6 +619,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -674,6 +691,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
@@ -708,6 +726,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-memory-archive",
     ),
diff --git a/infra/config/subprojects/chromium/ci/chromium.rust.star b/infra/config/subprojects/chromium/ci/chromium.rust.star
index b021f8e..98cd560e4 100644
--- a/infra/config/subprojects/chromium/ci/chromium.rust.star
+++ b/infra/config/subprojects/chromium/ci/chromium.rust.star
@@ -145,6 +145,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -174,6 +175,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -232,6 +234,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
@@ -260,6 +263,7 @@
             apply_configs = ["mb"],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
diff --git a/infra/config/subprojects/chromium/ci/chromium.star b/infra/config/subprojects/chromium/ci/chromium.star
index 9c6b1250..85ac7368 100644
--- a/infra/config/subprojects/chromium/ci/chromium.star
+++ b/infra/config/subprojects/chromium/ci/chromium.star
@@ -306,6 +306,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.CHROMEOS,
         ),
     ),
     gn_args = gn_args.config(
@@ -538,6 +539,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -587,6 +589,7 @@
                 "mb",
             ],
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
     ),
     gn_args = gn_args.config(
@@ -626,6 +629,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
     ),
     gn_args = gn_args.config(
@@ -674,6 +678,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
     ),
     gn_args = gn_args.config(
@@ -725,6 +730,7 @@
                 "mb",
             ],
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
     ),
     gn_args = gn_args.config(
@@ -763,6 +769,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
@@ -814,6 +821,7 @@
                 "mb",
             ],
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
@@ -853,6 +861,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 32,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
@@ -905,6 +914,7 @@
                 "mb",
             ],
             target_bits = 32,
+            target_platform = builder_config.target_platform.WIN,
         ),
     ),
     gn_args = gn_args.config(
diff --git a/infra/config/subprojects/chromium/ci/chromium.swangle.star b/infra/config/subprojects/chromium/ci/chromium.swangle.star
index a7a9750..35d6abc 100644
--- a/infra/config/subprojects/chromium/ci/chromium.swangle.star
+++ b/infra/config/subprojects/chromium/ci/chromium.swangle.star
@@ -58,6 +58,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -95,6 +96,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -132,6 +134,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -167,6 +170,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -202,6 +206,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.LINUX,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -243,6 +248,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.MAC,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -279,6 +285,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 32,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -316,6 +323,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -353,6 +361,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 32,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -389,6 +398,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
@@ -424,6 +434,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 32,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-swangle-archive",
         run_tests_serially = True,
diff --git a/infra/config/subprojects/chromium/ci/chromium.win.star b/infra/config/subprojects/chromium/ci/chromium.win.star
index 9b431d97..111c0ab 100644
--- a/infra/config/subprojects/chromium/ci/chromium.win.star
+++ b/infra/config/subprojects/chromium/ci/chromium.win.star
@@ -58,6 +58,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 32,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-win-archive",
     ),
@@ -82,6 +83,7 @@
             ],
             build_config = builder_config.build_config.RELEASE,
             target_bits = 32,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-win-archive",
     ),
@@ -116,6 +118,7 @@
             ],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-win-archive",
     ),
@@ -150,6 +153,7 @@
             ],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 64,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-win-archive",
     ),
@@ -176,6 +180,7 @@
             ],
             build_config = builder_config.build_config.DEBUG,
             target_bits = 32,
+            target_platform = builder_config.target_platform.WIN,
         ),
         build_gs_bucket = "chromium-win-archive",
     ),
diff --git a/infra/config/targets/lacros-version-skew-variants.json b/infra/config/targets/lacros-version-skew-variants.json
index 88b1ac8..1df86db 100644
--- a/infra/config/targets/lacros-version-skew-variants.json
+++ b/infra/config/targets/lacros-version-skew-variants.json
@@ -49,16 +49,16 @@
   },
   "LACROS_VERSION_SKEW_STABLE": {
     "args": [
-      "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome"
+      "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome"
     ],
-    "description": "Run with ash-chrome version 120.0.6099.235",
+    "description": "Run with ash-chrome version 120.0.6099.259",
     "identifier": "Lacros version skew testing ash stable",
     "swarming": {
       "cipd_packages": [
         {
           "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-          "location": "lacros_version_skew_tests_v120.0.6099.235",
-          "revision": "version:120.0.6099.235"
+          "location": "lacros_version_skew_tests_v120.0.6099.259",
+          "revision": "version:120.0.6099.259"
         }
       ]
     }
diff --git a/internal b/internal
index 20b9239..30fdbead 160000
--- a/internal
+++ b/internal
@@ -1 +1 @@
-Subproject commit 20b9239ff86b10b673e8b2240cd9cf0c9c93fb34
+Subproject commit 30fdbead0c83d2500fbcfd3309af0e4eb3c9ece6
diff --git a/ios/chrome/app/strings/ios_strings.grd b/ios/chrome/app/strings/ios_strings.grd
index 544f5c2..cd1f19f 100644
--- a/ios/chrome/app/strings/ios_strings.grd
+++ b/ios/chrome/app/strings/ios_strings.grd
@@ -3247,7 +3247,7 @@
         You have received passwords for <ph name="WEBSITE">$1<ex>amazon.com</ex></ph>
       </message>
       <message name="IDS_IOS_PASSWORD_SHARING_NOTIFICATION_SINGLE_PASSWORD_SUBTITLE" desc="Subtitle text in the password sign-in bottom sheet that informs the user about the full name of a family member that shared a password with them on this site. [iOS only]">
-        <ph name="FULL_NAME">$1<ex>John Doe</ex></ph> has shared a password with you for <ph name="WEBSITE">$2<ex>amazon.com</ex></ph>
+        <ph name="BEGIN_BOLD">BEGIN_BOLD</ph><ph name="FULL_NAME">$1<ex>John Doe</ex></ph><ph name="END_BOLD">END_BOLD</ph> has shared a password with you for <ph name="WEBSITE">$2<ex>amazon.com</ex></ph>
       </message>
       <message name="IDS_IOS_PASSWORD_SHARING_NOTIFICATION_TITLE" desc="Title text in the password sign-in bottom sheet informing the user that they have received some new passwords via the password sharing feature. [iOS only]">
         {count, plural,
diff --git a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_PASSWORD_SHARING_NOTIFICATION_SINGLE_PASSWORD_SUBTITLE.png.sha1 b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_PASSWORD_SHARING_NOTIFICATION_SINGLE_PASSWORD_SUBTITLE.png.sha1
index 6689365..19e2f035 100644
--- a/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_PASSWORD_SHARING_NOTIFICATION_SINGLE_PASSWORD_SUBTITLE.png.sha1
+++ b/ios/chrome/app/strings/ios_strings_grd/IDS_IOS_PASSWORD_SHARING_NOTIFICATION_SINGLE_PASSWORD_SUBTITLE.png.sha1
@@ -1 +1 @@
-597b7dc7717d85444c9ed9f952ca9c9abd94a20b
\ No newline at end of file
+b101ce4b440501ca993c113341df348d91516230
\ No newline at end of file
diff --git a/ios/chrome/browser/feature_engagement/model/tracker_factory_util.mm b/ios/chrome/browser/feature_engagement/model/tracker_factory_util.mm
index a39cc86..7875b2c 100644
--- a/ios/chrome/browser/feature_engagement/model/tracker_factory_util.mm
+++ b/ios/chrome/browser/feature_engagement/model/tracker_factory_util.mm
@@ -40,10 +40,8 @@
       browser_state->GetProtoDatabaseProvider();
 
   base::WeakPtr<PromosManagerEventExporter> event_exporter =
-      ShouldPromosManagerUseFET()
-          ? PromosManagerEventExporterFactory::GetForBrowserState(browser_state)
-                ->AsWeakPtr()
-          : nullptr;
+      PromosManagerEventExporterFactory::GetForBrowserState(browser_state)
+          ->AsWeakPtr();
 
   return base::WrapUnique(feature_engagement::Tracker::Create(
       storage_dir, background_task_runner, db_provider, event_exporter));
diff --git a/ios/chrome/browser/flags/about_flags.mm b/ios/chrome/browser/flags/about_flags.mm
index 8bfe066..30eef6e 100644
--- a/ios/chrome/browser/flags/about_flags.mm
+++ b/ios/chrome/browser/flags/about_flags.mm
@@ -1188,9 +1188,6 @@
      flags_ui::kOsIos,
      FEATURE_VALUE_TYPE(
          autofill::features::kAutofillSuggestServerCardInsteadOfLocalCard)},
-    {"promos-manager-uses-fet", flag_descriptions::kPromosManagerUsesFETName,
-     flag_descriptions::kPromosManagerUsesFETDescription, flags_ui::kOsIos,
-     FEATURE_VALUE_TYPE(kPromosManagerUsesFET)},
     {"shopping-collection",
      commerce::flag_descriptions::kShoppingCollectionName,
      commerce::flag_descriptions::kShoppingCollectionDescription,
diff --git a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc
index a54d2e0..141c358 100644
--- a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc
+++ b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.cc
@@ -283,9 +283,7 @@
 const char kDefaultBrowserPromoForceShowPromoDescription[] =
     "When enabled, the user will be able to chose which default browser promo "
     "will skip the triggering criteria. For this flag to effectively force a "
-    "default browser promo, either enable kPromosManagerUsesFET and "
-    "IPH_iOSPromoDefaultBrowser, or disable kPromosManagerUsesFET and enable "
-    "Force Promo (Default Browser) in the system settings experimental flags.";
+    "default browser promo, enable IPH_iOSPromoDefaultBrowser.";
 
 const char kDefaultBrowserTriggerCriteriaExperimentName[] =
     "Show default browser promo trigger criteria experiment";
@@ -825,11 +823,6 @@
     "Shows a new subpage in Settings that helps the user to review various "
     "privacy settings.";
 
-const char kPromosManagerUsesFETName[] = "Promos Manager using FET";
-const char kPromosManagerUsesFETDescription[] =
-    "Migrates the Promos Manager to use the Feature Engagement Tracker as its "
-    "impression tracking system";
-
 const char kIdleTimeoutPoliciesName[] =
     "IdleTimeout and IdleTimeoutActions Policies";
 const char kIdleTimeoutPoliciesDescription[] =
diff --git a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h
index de9997b..161cf880 100644
--- a/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h
+++ b/ios/chrome/browser/flags/ios_chrome_flag_descriptions.h
@@ -739,11 +739,6 @@
 extern const char kPrivacyGuideIosName[];
 extern const char kPrivacyGuideIosDescription[];
 
-// Title and description for the flag to have the Promos Manager use the FET as
-// its impression tracking system.
-extern const char kPromosManagerUsesFETName[];
-extern const char kPromosManagerUsesFETDescription[];
-
 // Title and description for the flag to enable PriceNotifications IPH to be
 // alwayws be displayed.
 extern const char kIPHPriceNotificationsWhileBrowsingName[];
diff --git a/ios/chrome/browser/metrics/model/BUILD.gn b/ios/chrome/browser/metrics/model/BUILD.gn
index 119ac8a6..40c9aa8 100644
--- a/ios/chrome/browser/metrics/model/BUILD.gn
+++ b/ios/chrome/browser/metrics/model/BUILD.gn
@@ -126,6 +126,7 @@
     "//ios/chrome/browser/crash_report/model",
     "//ios/chrome/browser/default_browser/model:utils",
     "//ios/chrome/browser/history/model",
+    "//ios/chrome/browser/push_notification/model:push_notification_client",
     "//ios/chrome/browser/push_notification/model:push_notification_service",
     "//ios/chrome/browser/sessions:restoration_observer",
     "//ios/chrome/browser/sessions:session_restoration_service",
@@ -202,6 +203,7 @@
     "//ios/chrome/app/application_delegate:app_state_header",
     "//ios/chrome/browser/default_browser/model:test_support",
     "//ios/chrome/browser/default_browser/model:utils",
+    "//ios/chrome/browser/push_notification/model:push_notification_client",
     "//ios/chrome/browser/push_notification/model:push_notification_service",
     "//ios/chrome/browser/shared/coordinator/scene:scene_state_header",
     "//ios/chrome/browser/shared/model/application_context",
diff --git a/ios/chrome/browser/metrics/model/DEPS b/ios/chrome/browser/metrics/model/DEPS
index 250f0b7..bbfabfb 100644
--- a/ios/chrome/browser/metrics/model/DEPS
+++ b/ios/chrome/browser/metrics/model/DEPS
@@ -11,7 +11,7 @@
   "+ios/chrome/browser/translate/model",
   "+ios/chrome/browser/web_state_list/model/session_metrics.h",
   "+ios/chrome/browser/signin/model",
-  "+ios/chrome/browser/push_notification/model/push_notification_util.h",
+  "+ios/chrome/browser/push_notification/model",
 ]
 
 specific_include_rules = {
diff --git a/ios/chrome/browser/metrics/model/constants.h b/ios/chrome/browser/metrics/model/constants.h
index a1fd929b..ba44ffd 100644
--- a/ios/chrome/browser/metrics/model/constants.h
+++ b/ios/chrome/browser/metrics/model/constants.h
@@ -14,4 +14,7 @@
 // Histogram name for the Notification Authorization Status filter.
 extern const char kNotifAuthorizationStatusByProviderHistogram[];
 
+// Histogram name for the Notification Client Status filter.
+extern const char kNotifClientStatusByProviderHistogram[];
+
 #endif  // IOS_CHROME_BROWSER_METRICS_MODEL_CONSTANTS_H_
diff --git a/ios/chrome/browser/metrics/model/constants.mm b/ios/chrome/browser/metrics/model/constants.mm
index 416bdbc4..68f18b54e 100644
--- a/ios/chrome/browser/metrics/model/constants.mm
+++ b/ios/chrome/browser/metrics/model/constants.mm
@@ -9,3 +9,5 @@
     "ContentSuggestions.Feed.AllFeeds.Activity.ByProvider";
 const char kNotifAuthorizationStatusByProviderHistogram[] =
     "IOS.PushNotification.NotificationSettingsAuthorizationStatus.ByProvider";
+const char kNotifClientStatusByProviderHistogram[] =
+    "ContentNotifications.ClientStatus.Enabled.ByProvider";
diff --git a/ios/chrome/browser/metrics/model/ios_chrome_metrics_service_client.mm b/ios/chrome/browser/metrics/model/ios_chrome_metrics_service_client.mm
index d1d6433..7890740a 100644
--- a/ios/chrome/browser/metrics/model/ios_chrome_metrics_service_client.mm
+++ b/ios/chrome/browser/metrics/model/ios_chrome_metrics_service_client.mm
@@ -81,6 +81,7 @@
 #import "ios/chrome/browser/shared/model/browser_state/chrome_browser_state_manager.h"
 #import "ios/chrome/browser/shared/model/paths/paths.h"
 #import "ios/chrome/browser/shared/model/web_state_list/web_state_list.h"
+#import "ios/chrome/browser/signin/model/identity_manager_factory.h"
 #import "ios/chrome/browser/sync/model/device_info_sync_service_factory.h"
 #import "ios/chrome/browser/sync/model/sync_service_factory.h"
 #import "ios/chrome/browser/tabs/model/tab_parenting_global_observer.h"
@@ -369,7 +370,8 @@
           browser_state->GetPrefs()));
 
   metrics_service_->RegisterMetricsProvider(
-      std::make_unique<IOSPushNotificationsMetricsProvider>());
+      std::make_unique<IOSPushNotificationsMetricsProvider>(
+          IdentityManagerFactory::GetForBrowserState(browser_state)));
 }
 
 void IOSChromeMetricsServiceClient::RegisterUKMProviders() {
diff --git a/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider.h b/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider.h
index 7af8fc2..ae6ee99 100644
--- a/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider.h
+++ b/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider.h
@@ -7,9 +7,14 @@
 
 #include "components/metrics/metrics_provider.h"
 
+namespace signin {
+class IdentityManager;
+}
+
 class IOSPushNotificationsMetricsProvider : public metrics::MetricsProvider {
  public:
-  explicit IOSPushNotificationsMetricsProvider();
+  explicit IOSPushNotificationsMetricsProvider(
+      signin::IdentityManager* identity_manager);
   IOSPushNotificationsMetricsProvider(
       const IOSPushNotificationsMetricsProvider&) = delete;
   IOSPushNotificationsMetricsProvider& operator=(
@@ -20,6 +25,9 @@
   // metrics::MetricsProvider
   void ProvideCurrentSessionData(
       metrics::ChromeUserMetricsExtension* uma_proto) override;
+
+ private:
+  signin::IdentityManager* identity_manager_;
 };
 
 #endif  // IOS_CHROME_BROWSER_METRICS_MODEL_IOS_PUSH_NOTIFICATIONS_METRICS_PROVIDER_H_
diff --git a/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider.mm b/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider.mm
index c62cb946..fb3cdbb 100644
--- a/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider.mm
+++ b/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider.mm
@@ -7,10 +7,18 @@
 #import <UserNotifications/UserNotifications.h>
 
 #import "base/metrics/histogram_functions.h"
+#import "base/strings/sys_string_conversions.h"
+#import "components/signin/public/identity_manager/identity_manager.h"
 #import "ios/chrome/browser/metrics/model/constants.h"
+#import "ios/chrome/browser/push_notification/model/push_notification_client_id.h"
+#import "ios/chrome/browser/push_notification/model/push_notification_settings_util.h"
 #import "ios/chrome/browser/push_notification/model/push_notification_util.h"
 
-IOSPushNotificationsMetricsProvider::IOSPushNotificationsMetricsProvider() {}
+IOSPushNotificationsMetricsProvider::IOSPushNotificationsMetricsProvider(
+    signin::IdentityManager* identity_manager)
+    : identity_manager_(identity_manager) {
+  CHECK(identity_manager_);
+}
 
 IOSPushNotificationsMetricsProvider::~IOSPushNotificationsMetricsProvider() {}
 
@@ -22,4 +30,15 @@
     base::UmaHistogramExactLinear(kNotifAuthorizationStatusByProviderHistogram,
                                   settings.authorizationStatus, 5);
   }];
+  // Report the enabled client IDs.
+  if (identity_manager_->HasPrimaryAccount(signin::ConsentLevel::kSync)) {
+    base::UmaHistogramBoolean(
+        kNotifClientStatusByProviderHistogram,
+        push_notification_settings::
+            GetMobileNotificationPermissionStatusForClient(
+                PushNotificationClientId::kContent,
+                identity_manager_
+                    ->GetPrimaryAccountInfo(signin::ConsentLevel::kSync)
+                    .gaia));
+  }
 }
diff --git a/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider_unittest.mm b/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider_unittest.mm
index 8011ed00..ecda383 100644
--- a/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider_unittest.mm
+++ b/ios/chrome/browser/metrics/model/ios_push_notifications_metrics_provider_unittest.mm
@@ -32,3 +32,9 @@
   histogram_tester_->ExpectBucketCount(
       kNotifAuthorizationStatusByProviderHistogram, 2, 1);
 }
+
+TEST_F(IOSPushNotificationsMetricsProviderTest, TestContentClientPermission) {
+  base::UmaHistogramBoolean(kNotifClientStatusByProviderHistogram, true);
+  histogram_tester_->ExpectBucketCount(kNotifClientStatusByProviderHistogram, 1,
+                                       1);
+}
diff --git a/ios/chrome/browser/promos_manager/BUILD.gn b/ios/chrome/browser/promos_manager/BUILD.gn
index c7da6b4..8278eeb 100644
--- a/ios/chrome/browser/promos_manager/BUILD.gn
+++ b/ios/chrome/browser/promos_manager/BUILD.gn
@@ -129,7 +129,10 @@
 
 source_set("unit_tests") {
   testonly = true
-  sources = [ "promos_manager_impl_unittest.mm" ]
+  sources = [
+    "promos_manager_feature_engagement_unittest.mm",
+    "promos_manager_impl_unittest.mm",
+  ]
   frameworks = [ "Foundation.framework" ]
   deps = [
     ":constants",
diff --git a/ios/chrome/browser/promos_manager/constants.cc b/ios/chrome/browser/promos_manager/constants.cc
index b221ab1..55238c78 100644
--- a/ios/chrome/browser/promos_manager/constants.cc
+++ b/ios/chrome/browser/promos_manager/constants.cc
@@ -15,7 +15,6 @@
 const char kImpressionDayKey[] = "day";
 const char kImpressionFeatureEngagementMigrationCompletedKey[] =
     "feature_engagement_migration_completed";
-const int kNumDaysImpressionHistoryStored = 365;
 
 // WARNING - PLEASE READ: Sadly, we cannot switch over strings in C++, so be
 // very careful when updating this method to ensure all enums are accounted for.
diff --git a/ios/chrome/browser/promos_manager/constants.h b/ios/chrome/browser/promos_manager/constants.h
index dcd13bf..391831c 100644
--- a/ios/chrome/browser/promos_manager/constants.h
+++ b/ios/chrome/browser/promos_manager/constants.h
@@ -22,9 +22,8 @@
 // (base::Value).
 extern const char kImpressionFeatureEngagementMigrationCompletedKey[];
 
-// The max number of days for impression history to be stored & maintained.
-extern const int kNumDaysImpressionHistoryStored;
-
+// When a new promo is added, if it's a standard promo, consider adding it to
+// `PromosManagerFeatureEngagementTest`.
 // LINT.IfChange
 enum class Promo {
   Test = 0,            // Test promo used for testing purposes (e.g. unit tests)
diff --git a/ios/chrome/browser/promos_manager/features.h b/ios/chrome/browser/promos_manager/features.h
index 42e48b4..7c62dfb 100644
--- a/ios/chrome/browser/promos_manager/features.h
+++ b/ios/chrome/browser/promos_manager/features.h
@@ -11,14 +11,8 @@
 // internal Impression Limits.
 BASE_DECLARE_FEATURE(kFullscreenPromosManagerSkipInternalLimits);
 
-// Controls whether the Promos Manager should use the Feature Engagement Tracker
-// as its impression tracking system.
-BASE_DECLARE_FEATURE(kPromosManagerUsesFET);
-
 // Returns true if the Fullscreen Promos Manager should skip evaluation of its
 // internal Impression Limits when deciding whether or not to display a promo.
 bool IsSkippingInternalImpressionLimitsEnabled();
 
-bool ShouldPromosManagerUseFET();
-
 #endif  // IOS_CHROME_BROWSER_PROMOS_MANAGER_FEATURES_H_
diff --git a/ios/chrome/browser/promos_manager/features.mm b/ios/chrome/browser/promos_manager/features.mm
index 7aa202f..e209a6c 100644
--- a/ios/chrome/browser/promos_manager/features.mm
+++ b/ios/chrome/browser/promos_manager/features.mm
@@ -10,15 +10,7 @@
              "FullscreenPromosManagerSkipInternalLimits",
              base::FEATURE_DISABLED_BY_DEFAULT);
 
-BASE_FEATURE(kPromosManagerUsesFET,
-             "PromosManagerUsesFET",
-             base::FEATURE_ENABLED_BY_DEFAULT);
-
 bool IsSkippingInternalImpressionLimitsEnabled() {
   return base::FeatureList::IsEnabled(
       kFullscreenPromosManagerSkipInternalLimits);
 }
-
-bool ShouldPromosManagerUseFET() {
-  return base::FeatureList::IsEnabled(kPromosManagerUsesFET);
-}
diff --git a/ios/chrome/browser/promos_manager/promos_manager_factory.mm b/ios/chrome/browser/promos_manager/promos_manager_factory.mm
index 4e1719d..48b571c 100644
--- a/ios/chrome/browser/promos_manager/promos_manager_factory.mm
+++ b/ios/chrome/browser/promos_manager/promos_manager_factory.mm
@@ -45,9 +45,7 @@
   ChromeBrowserState* browser_state =
       ChromeBrowserState::FromBrowserState(context);
   PromosManagerEventExporter* event_exporter =
-      ShouldPromosManagerUseFET()
-          ? PromosManagerEventExporterFactory::GetForBrowserState(browser_state)
-          : nullptr;
+      PromosManagerEventExporterFactory::GetForBrowserState(browser_state);
   auto promos_manager = std::make_unique<PromosManagerImpl>(
       GetApplicationContext()->GetLocalState(),
       base::DefaultClock::GetInstance(),
diff --git a/ios/chrome/browser/promos_manager/promos_manager_feature_engagement_unittest.mm b/ios/chrome/browser/promos_manager/promos_manager_feature_engagement_unittest.mm
new file mode 100644
index 0000000..3368a1c
--- /dev/null
+++ b/ios/chrome/browser/promos_manager/promos_manager_feature_engagement_unittest.mm
@@ -0,0 +1,73 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#import "base/test/simple_test_clock.h"
+#import "base/test/task_environment.h"
+#import "components/feature_engagement/public/configuration.h"
+#import "components/feature_engagement/public/event_constants.h"
+#import "components/feature_engagement/public/feature_constants.h"
+#import "components/feature_engagement/public/group_constants.h"
+#import "components/feature_engagement/public/ios_promo_feature_configuration.h"
+#import "components/feature_engagement/public/tracker.h"
+#import "components/feature_engagement/test/scoped_iph_feature_list.h"
+#import "components/feature_engagement/test/test_tracker.h"
+#import "testing/platform_test.h"
+
+// Unittests related to the triggering of PromosManager features.
+class PromosManagerFeatureEngagementTest : public PlatformTest {
+ public:
+  PromosManagerFeatureEngagementTest() {}
+  ~PromosManagerFeatureEngagementTest() override {}
+
+  std::vector<const base::Feature*> ActiveStandardPromos() {
+    return {
+        &feature_engagement::kIPHiOSPromoAppStoreFeature,
+        &feature_engagement::kIPHiOSPromoWhatsNewFeature,
+        &feature_engagement::kIPHiOSPromoDefaultBrowserFeature,
+        &feature_engagement::kIPHiOSPromoOmniboxPositionFeature,
+        &feature_engagement::kIPHiOSDockingPromoFeature,
+    };
+  }
+};
+
+// Tests that the per-promo limit preventing a given promo from triggering more
+// than once in 30 days is added to all active standard promos.
+TEST_F(PromosManagerFeatureEngagementTest, TestPerPromoLimit) {
+  for (const base::Feature* feature : ActiveStandardPromos()) {
+    absl::optional<feature_engagement::FeatureConfig> optional_config =
+        feature_engagement::GetClientSideiOSPromoFeatureConfig(feature);
+
+    ASSERT_TRUE(optional_config.has_value());
+    feature_engagement::FeatureConfig config = optional_config.value();
+    bool contains_one_in_thirty_limit = false;
+    for (auto event_config : config.event_configs) {
+      if (event_config.name == config.trigger.name &&
+          event_config.comparator ==
+              feature_engagement::Comparator(feature_engagement::EQUAL, 0) &&
+          event_config.window == 30) {
+        contains_one_in_thirty_limit = true;
+      }
+    }
+    EXPECT_TRUE(contains_one_in_thirty_limit);
+  }
+}
+
+// Tests that the group rules for global promo limits have been added to all
+// active standard promos.
+TEST_F(PromosManagerFeatureEngagementTest, TestGlobalLimit) {
+  for (const base::Feature* feature : ActiveStandardPromos()) {
+    absl::optional<feature_engagement::FeatureConfig> optional_config =
+        feature_engagement::GetClientSideiOSPromoFeatureConfig(feature);
+
+    ASSERT_TRUE(optional_config.has_value());
+    feature_engagement::FeatureConfig config = optional_config.value();
+    bool contains_promo_group = false;
+    for (auto group : config.groups) {
+      if (group == feature_engagement::kiOSFullscreenPromosGroup.name) {
+        contains_promo_group = true;
+      }
+    }
+    EXPECT_TRUE(contains_promo_group);
+  }
+}
diff --git a/ios/chrome/browser/promos_manager/promos_manager_impl.h b/ios/chrome/browser/promos_manager/promos_manager_impl.h
index c7705de..a736df47 100644
--- a/ios/chrome/browser/promos_manager/promos_manager_impl.h
+++ b/ios/chrome/browser/promos_manager/promos_manager_impl.h
@@ -45,31 +45,11 @@
                     PromosManagerEventExporter* event_exporter);
   ~PromosManagerImpl() override;
 
-  // Loads and sorts impression history from prefs.
-  void RefreshImpressionHistoryFromPrefs();
-
-  // `promo`-specific impression limits, if defined. May return an empty
-  // NSArray, indicating no promo-specific impression limits were defined for
-  // `promo`.
-  NSArray<ImpressionLimit*>* PromoImpressionLimits(
-      promos_manager::Promo promo) const;
-
   // Sorts the active promos in the order that they will be displayed.
   std::vector<promos_manager::Promo> SortPromos(
       const std::map<promos_manager::Promo, PromoContext>&
           promos_to_sort_with_context) const;
 
-  // Impression limits that count against all promos.
-  NSArray<ImpressionLimit*>* GlobalImpressionLimits() const;
-
-  // Impression limits that count against any given promo.
-  NSArray<ImpressionLimit*>* GlobalPerPromoImpressionLimits() const;
-
-  // Loops over the stored impression history (base::Value::List) and returns
-  // corresponding a std::vector<promos_manager::Impression>.
-  std::vector<promos_manager::Impression> ImpressionHistory(
-      const base::Value::List& stored_impression_history);
-
   // Loops over the stored active promos list (base::Value::List) and returns
   // a corresponding std::set<promos_manager::Promo>.
   std::set<promos_manager::Promo> ActivePromos(
@@ -78,41 +58,9 @@
   // Initializes the `single_display_pending_promos_`, constructs it from Pref.
   void InitializePendingPromos();
 
-  void OnFeatureEngagementTrackerInitialized(bool success);
-
-  // Returns true if any impression limit from `impression_limits` is triggered,
-  // and false otherwise.
-  //
-  // At each limit, evaluates the following:
-  //
-  // (1) Is the current limit valid for evaluation? This is determined by
-  // whether or not `window_days` is < the current limit's window.
-  //
-  // (2) If the limit is valid for evaluation, compare `impression_count` with
-  // the current limit's impression count. If `impression_count` >= the current
-  // limit's impression count, the limit has been triggered.
-
-  // (3) If the limit is triggered, exits early and returns true. Otherwise,
-  // keep going.
-  bool AnyImpressionLimitTriggered(
-      int impression_count,
-      int window_days,
-      NSArray<ImpressionLimit*>* impression_limits) const;
-
-  // Algorithm loops over pre-sorted impressions history list. The algorithm
-  // assumes `valid_impressions` is sorted by impression day (most recent ->
-  // least recent).
-  //
-  // At each impression, the algorithm asks if either a time-based or
-  // time-agnostic impression limit has been met. If so, the algorithm exits
-  // early and returns false.
-  //
-  // If the algorithm reaches its end, no impression limits were hit for
-  // `promo`. If so, the algorithm returns true, as it's safe to display
-  // `promo`.
-  bool CanShowPromo(
-      promos_manager::Promo promo,
-      const std::vector<promos_manager::Impression>& sorted_impressions) const;
+  // Checks whether the given promo can be shown given any extant impression
+  // limits.
+  bool CanShowPromo(promos_manager::Promo promo) const;
 
   // Checks whether a promo can currently be shown using the feature engagement
   // system to check any impression limits.
@@ -122,16 +70,6 @@
   // Returns the corresponding base::Feature for the given Promo.
   const base::Feature* FeatureForPromo(promos_manager::Promo promo) const;
 
-  // Returns a list of impression counts (std::vector<int>) from a promo
-  // impression counts map.
-  std::vector<int> ImpressionCounts(
-      std::map<promos_manager::Promo, int>& promo_impression_counts) const;
-
-  // Returns the total number of impressions (int) from a promo impression
-  // counts map.
-  int TotalImpressionCount(
-      std::map<promos_manager::Promo, int>& promo_impression_counts) const;
-
   // PromosManager implementation.
   void Init() override;
   void InitializePromoConfigs(PromoConfigsSet promo_configs) override;
@@ -163,9 +101,6 @@
   // can become active.
   std::map<promos_manager::Promo, base::Time> single_display_pending_promos_;
 
-  // The impression history sorted by `day` (most recent -> least recent).
-  std::vector<promos_manager::Impression> impression_history_;
-
   // Promo-specific configuration.
   PromoConfigsSet promo_configs_;
 
diff --git a/ios/chrome/browser/promos_manager/promos_manager_impl.mm b/ios/chrome/browser/promos_manager/promos_manager_impl.mm
index f1d4174..b0f7c34 100644
--- a/ios/chrome/browser/promos_manager/promos_manager_impl.mm
+++ b/ios/chrome/browser/promos_manager/promos_manager_impl.mm
@@ -57,12 +57,6 @@
   update->Append(promo_name);
 }
 
-// Returns true if the first impression is more recent and false otherwise.
-bool CompareImpressions(promos_manager::Impression impression1,
-                        promos_manager::Impression impression2) {
-  return impression1.day > impression2.day;
-}
-
 }  // namespace
 
 #pragma mark - PromosManagerImpl
@@ -79,23 +73,10 @@
       event_exporter_(event_exporter) {
   DCHECK(local_state_);
   DCHECK(clock_);
-  if (ShouldPromosManagerUseFET()) {
-    tracker_->AddOnInitializedCallback(base::BindOnce(
-        &PromosManagerImpl::OnFeatureEngagementTrackerInitialized,
-        weak_ptr_factory_.GetWeakPtr()));
-  }
 }
 
 PromosManagerImpl::~PromosManagerImpl() = default;
 
-void PromosManagerImpl::RefreshImpressionHistoryFromPrefs() {
-  impression_history_ = ImpressionHistory(
-      local_state_->GetList(prefs::kIosPromosManagerImpressions));
-  // Sort impressions from most recent to least recent.
-  std::sort(impression_history_.begin(), impression_history_.end(),
-            CompareImpressions);
-}
-
 #pragma mark - Public
 
 void PromosManagerImpl::Init() {
@@ -107,7 +88,6 @@
       local_state_->GetList(prefs::kIosPromosManagerSingleDisplayActivePromos));
 
   InitializePendingPromos();
-  RefreshImpressionHistoryFromPrefs();
 }
 
 // Impression history should grow in sorted order. Given this happens on the
@@ -121,16 +101,13 @@
                  promos_manager::NameForPromo(promo));
   impression.Set(promos_manager::kImpressionDayKey, TodaysDay());
   impression.Set(
-      promos_manager::kImpressionFeatureEngagementMigrationCompletedKey,
-      ShouldPromosManagerUseFET());
+      promos_manager::kImpressionFeatureEngagementMigrationCompletedKey, true);
 
   ScopedListPrefUpdate update(local_state_,
                               prefs::kIosPromosManagerImpressions);
 
   update->Append(std::move(impression));
 
-  RefreshImpressionHistoryFromPrefs();
-
   // Auto-deregister `promo`.
   // Edge case: Possible to remove two instances of promo in
   // `single_display_active_promos_` and `single_display_pending_promos_` that
@@ -141,15 +118,6 @@
   }
 }
 
-void PromosManagerImpl::OnFeatureEngagementTrackerInitialized(bool success) {
-  CHECK(ShouldPromosManagerUseFET());
-  if (success) {
-    // Loading the tracker may cause event migration to take place, so re-load
-    // the impressions in case they have changed.
-    RefreshImpressionHistoryFromPrefs();
-  }
-}
-
 void PromosManagerImpl::RegisterPromoForContinuousDisplay(
     promos_manager::Promo promo) {
   ConditionallyAppendPromoToPrefList(
@@ -262,32 +230,14 @@
   }
 
   for (promos_manager::Promo promo : sorted_promos) {
-    if (CanShowPromo(promo, impression_history_))
+    if (CanShowPromo(promo)) {
       return promo;
+    }
   }
 
   return std::nullopt;
 }
 
-std::vector<promos_manager::Impression> PromosManagerImpl::ImpressionHistory(
-    const base::Value::List& stored_impression_history) {
-  std::vector<promos_manager::Impression> impression_history;
-
-  for (size_t i = 0; i < stored_impression_history.size(); ++i) {
-    const base::Value::Dict& stored_impression =
-        stored_impression_history[i].GetDict();
-    std::optional<promos_manager::Impression> impression =
-        promos_manager::ImpressionFromDict(stored_impression);
-    if (!impression) {
-      continue;
-    }
-
-    impression_history.push_back(impression.value());
-  }
-
-  return impression_history;
-}
-
 std::set<promos_manager::Promo> PromosManagerImpl::ActivePromos(
     const base::Value::List& stored_active_promos) const {
   std::set<promos_manager::Promo> active_promos;
@@ -331,160 +281,8 @@
   }
 }
 
-NSArray<ImpressionLimit*>* PromosManagerImpl::PromoImpressionLimits(
-    promos_manager::Promo promo) const {
-  auto it = promo_configs_.find(promo);
-
-  if (it == promo_configs_.end()) {
-    return @[];
-  }
-
-  return it->impression_limits;
-}
-
-NSArray<ImpressionLimit*>* PromosManagerImpl::GlobalImpressionLimits() const {
-  static NSArray<ImpressionLimit*>* limits;
-  static dispatch_once_t onceToken;
-
-  if (IsSkippingInternalImpressionLimitsEnabled()) {
-    return limits;
-  }
-
-  dispatch_once(&onceToken, ^{
-    ImpressionLimit* onceEveryTwoDays =
-        [[ImpressionLimit alloc] initWithLimit:1 forNumDays:2];
-    ImpressionLimit* thricePerWeek = [[ImpressionLimit alloc] initWithLimit:3
-                                                                 forNumDays:7];
-    limits = @[ onceEveryTwoDays, thricePerWeek ];
-  });
-
-  return limits;
-}
-
-NSArray<ImpressionLimit*>* PromosManagerImpl::GlobalPerPromoImpressionLimits()
-    const {
-  static NSArray<ImpressionLimit*>* limits;
-  static dispatch_once_t onceToken;
-
-  if (IsSkippingInternalImpressionLimitsEnabled()) {
-    return limits;
-  }
-
-  dispatch_once(&onceToken, ^{
-    ImpressionLimit* oncePerMonth = [[ImpressionLimit alloc] initWithLimit:1
-                                                                forNumDays:30];
-    limits = @[ oncePerMonth ];
-  });
-
-  return limits;
-}
-
-bool PromosManagerImpl::AnyImpressionLimitTriggered(
-    int impression_count,
-    int window_days,
-    NSArray<ImpressionLimit*>* impression_limits) const {
-  for (ImpressionLimit* impression_limit in impression_limits) {
-    if (window_days < impression_limit.numDays &&
-        impression_count >= impression_limit.numImpressions)
-      return true;
-  }
-
-  return false;
-}
-
-bool PromosManagerImpl::CanShowPromo(
-    promos_manager::Promo promo,
-    const std::vector<promos_manager::Impression>& sorted_impressions) const {
-  if (ShouldPromosManagerUseFET()) {
-    return CanShowPromoUsingFeatureEngagementTracker(promo);
-  }
-  // Maintains a map ([promos_manager::Promo] : [current impression count]) for
-  // evaluating against GlobalImpressionLimits(),
-  // GlobalPerPromoImpressionLimits(), and, if defined, `promo`-specific
-  // impression limits
-  std::map<promos_manager::Promo, int> promo_impression_counts;
-
-  NSArray<ImpressionLimit*>* promo_impression_limits =
-      PromoImpressionLimits(promo);
-  NSArray<ImpressionLimit*>* global_per_promo_impression_limits =
-      GlobalPerPromoImpressionLimits();
-  NSArray<ImpressionLimit*>* global_impression_limits =
-      GlobalImpressionLimits();
-
-  int window_start = TodaysDay();
-  int window_end =
-      (window_start - promos_manager::kNumDaysImpressionHistoryStored) + 1;
-  size_t curr_impression_index = 0;
-
-  // Impression limits are defined by a certain number of impressions
-  // (int) within a certain window of days (int).
-  //
-  // This loop starts at TodaysDay() (today) and grows a window, day-by-day, to
-  // check against different impression limits.
-  //
-  // Depending on the size of the window, impression limits may become valid or
-  // invalid. For example, if the window covers 7 days, an impression limit of
-  // 2-day scope is no longer valid. However, if window covered 1-2 days, an
-  // impression limit of 2-day scope is valid.
-  for (int curr_day = window_start; curr_day >= window_end; --curr_day) {
-    if (curr_impression_index < sorted_impressions.size()) {
-      promos_manager::Impression curr_impression =
-          sorted_impressions[curr_impression_index];
-      // If the current impression matches the current day, add it to
-      // `promo_impression_counts`.
-      if (curr_impression.day == curr_day) {
-        promo_impression_counts[curr_impression.promo]++;
-        curr_impression_index++;
-      } else {
-        // Only check impression limits when counts are incremented: if an
-        // impression limit were to be triggered below - but counts weren't
-        // incremented above - it wouldve've already been triggered in a
-        // previous loop run.
-        continue;
-      }
-    }
-
-    int window_days = window_start - curr_day;
-    int promo_impression_count = promo_impression_counts[promo];
-    int total_impression_count = TotalImpressionCount(promo_impression_counts);
-
-    if (AnyImpressionLimitTriggered(promo_impression_count, window_days,
-                                    promo_impression_limits)) {
-      base::UmaHistogramEnumeration(
-          "IOS.PromosManager.Promo.ImpressionLimitEvaluation",
-          promos_manager::IOSPromosManagerPromoImpressionLimitEvaluationType::
-              kInvalidPromoSpecificImpressionLimitTriggered);
-
-      return false;
-    }
-
-    if (AnyImpressionLimitTriggered(promo_impression_count, window_days,
-                                    global_per_promo_impression_limits)) {
-      base::UmaHistogramEnumeration(
-          "IOS.PromosManager.Promo.ImpressionLimitEvaluation",
-          promos_manager::IOSPromosManagerPromoImpressionLimitEvaluationType::
-              kInvalidPromoAgnosticImpressionLimitTriggered);
-
-      return false;
-    }
-
-    if (AnyImpressionLimitTriggered(total_impression_count, window_days,
-                                    global_impression_limits)) {
-      base::UmaHistogramEnumeration(
-          "IOS.PromosManager.Promo.ImpressionLimitEvaluation",
-          promos_manager::IOSPromosManagerPromoImpressionLimitEvaluationType::
-              kInvalidGlobalImpressionLimitTriggered);
-
-      return false;
-    }
-  }
-
-  base::UmaHistogramEnumeration(
-      "IOS.PromosManager.Promo.ImpressionLimitEvaluation",
-      promos_manager::IOSPromosManagerPromoImpressionLimitEvaluationType::
-          kValid);
-
-  return true;
+bool PromosManagerImpl::CanShowPromo(promos_manager::Promo promo) const {
+  return CanShowPromoUsingFeatureEngagementTracker(promo);
 }
 
 bool PromosManagerImpl::CanShowPromoUsingFeatureEngagementTracker(
@@ -506,23 +304,6 @@
   return it->feature_engagement_feature;
 }
 
-std::vector<int> PromosManagerImpl::ImpressionCounts(
-    std::map<promos_manager::Promo, int>& promo_impression_counts) const {
-  std::vector<int> counts;
-
-  for (const auto& [promo, count] : promo_impression_counts)
-    counts.push_back(count);
-
-  return counts;
-}
-
-int PromosManagerImpl::TotalImpressionCount(
-    std::map<promos_manager::Promo, int>& promo_impression_counts) const {
-  std::vector<int> counts = ImpressionCounts(promo_impression_counts);
-
-  return std::accumulate(counts.begin(), counts.end(), 0);
-}
-
 // Sort the promos in the order that they will be displayed.
 // Based on the Promo's context and type.
 std::vector<promos_manager::Promo> PromosManagerImpl::SortPromos(
diff --git a/ios/chrome/browser/promos_manager/promos_manager_impl_unittest.mm b/ios/chrome/browser/promos_manager/promos_manager_impl_unittest.mm
index 09e76e8..85d7d2a 100644
--- a/ios/chrome/browser/promos_manager/promos_manager_impl_unittest.mm
+++ b/ios/chrome/browser/promos_manager/promos_manager_impl_unittest.mm
@@ -34,12 +34,6 @@
 
 namespace {
 
-// The number of days since the Unix epoch; one day, in this context, runs
-// from UTC midnight to UTC midnight.
-int TodaysDay() {
-  return (base::Time::Now() - base::Time::UnixEpoch()).InDays();
-}
-
 const base::TimeDelta kTimeDelta1Day = base::Days(1);
 const base::TimeDelta kTimeDelta1Hour = base::Hours(1);
 
@@ -76,9 +70,6 @@
   // Create pref registry for tests.
   void CreatePrefs();
 
-  // Set promo specific impression limits.
-  void SetPromoLimits();
-
   base::SimpleTestClock test_clock_;
 
   std::unique_ptr<TestingPrefServiceSimple> local_state_;
@@ -138,41 +129,6 @@
       prefs::kIosPromosManagerSingleDisplayPendingPromos);
 }
 
-// Set promo specific limits.
-void PromosManagerImplTest::SetPromoLimits() {
-  ImpressionLimit* oncePerYear = [[ImpressionLimit alloc] initWithLimit:1
-                                                             forNumDays:365];
-  ImpressionLimit* twicePerYear = [[ImpressionLimit alloc] initWithLimit:2
-                                                              forNumDays:365];
-  NSArray<ImpressionLimit*>* defaultBrowserLimits = @[
-    twicePerYear,
-  ];
-
-  NSArray<ImpressionLimit*>* credentialProviderLimits = @[
-    oncePerYear,
-  ];
-
-  NSArray<ImpressionLimit*>* appStoreRatingLimits = @[
-    oncePerYear,
-  ];
-
-  NSArray<ImpressionLimit*>* testLimits = @[
-    oncePerYear,
-  ];
-
-  PromoConfigsSet promoImpressionLimits;
-  promoImpressionLimits.emplace(promos_manager::Promo::DefaultBrowser, nullptr,
-                                defaultBrowserLimits);
-  promoImpressionLimits.emplace(
-      promos_manager::Promo::CredentialProviderExtension, nullptr,
-      credentialProviderLimits);
-  promoImpressionLimits.emplace(promos_manager::Promo::AppStoreRating, nullptr,
-                                appStoreRatingLimits);
-  promoImpressionLimits.emplace(promos_manager::Promo::Test, nullptr,
-                                testLimits);
-  promos_manager_->InitializePromoConfigs(std::move(promoImpressionLimits));
-}
-
 // Tests the initializer correctly creates a PromosManagerImpl* with the
 // specified Pref service.
 TEST_F(PromosManagerImplTest, InitWithPrefService) {
@@ -241,252 +197,57 @@
   EXPECT_EQ(impressionLimits[1].numDays, 31);
 }
 
-// Tests PromosManager::ImpressionCounts() correctly returns a counts list from
-// an impression counts map.
-TEST_F(PromosManagerImplTest, ReturnsImpressionCounts) {
-  std::map<promos_manager::Promo, int> promo_impression_counts = {
-      {promos_manager::Promo::Test, 3},
-      {promos_manager::Promo::AppStoreRating, 1},
-      {promos_manager::Promo::CredentialProviderExtension, 6},
-      {promos_manager::Promo::DefaultBrowser, 5},
-  };
-
-  std::vector<int> counts = {3, 5, 1, 6};
-
-  EXPECT_EQ(promos_manager_->ImpressionCounts(promo_impression_counts), counts);
-}
-
-// Tests PromosManager::ImpressionCounts() correctly returns an empty counts
-// list for an empty impression counts map.
-TEST_F(PromosManagerImplTest, ReturnsEmptyImpressionCounts) {
-  std::map<promos_manager::Promo, int> promo_impression_counts;
-  std::vector<int> counts;
-
-  EXPECT_EQ(promos_manager_->ImpressionCounts(promo_impression_counts), counts);
-}
-
-// Tests PromosManager::TotalImpressionCount() correctly adds the counts of
-// different promos from an impression counts map.
-TEST_F(PromosManagerImplTest, ReturnsTotalImpressionCount) {
-  std::map<promos_manager::Promo, int> promo_impression_counts = {
-      {promos_manager::Promo::Test, 3},
-      {promos_manager::Promo::AppStoreRating, 1},
-      {promos_manager::Promo::CredentialProviderExtension, 6},
-      {promos_manager::Promo::DefaultBrowser, 5},
-
-  };
-
-  EXPECT_EQ(promos_manager_->TotalImpressionCount(promo_impression_counts), 15);
-}
-
-// Tests PromosManager::TotalImpressionCount() returns zero for an empty
-// impression counts map.
-TEST_F(PromosManagerImplTest, ReturnsZeroForTotalImpressionCount) {
-  std::map<promos_manager::Promo, int> promo_impression_counts;
-
-  EXPECT_EQ(promos_manager_->TotalImpressionCount(promo_impression_counts), 0);
-}
-
-// Tests PromosManager::AnyImpressionLimitTriggered() correctly detects an
-// impression limit is triggered.
-TEST_F(PromosManagerImplTest, DetectsSingleImpressionLimitTriggered) {
-  ImpressionLimit* thricePerWeek = [[ImpressionLimit alloc] initWithLimit:3
-                                                               forNumDays:7];
-  NSArray<ImpressionLimit*>* limits = @[
-    thricePerWeek,
-  ];
-
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(3, 1, limits), true);
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(4, 5, limits), true);
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(4, 6, limits), true);
-  // This is technically the 8th day, so it's the start of a new week, and
-  // doesn't hit the limit.
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(3, 7, limits), false);
-}
-
-// Tests PromosManager::AnyImpressionLimitTriggered() correctly detects an
-// impression limit is triggered over multiple impression limits.
-TEST_F(PromosManagerImplTest, DetectsOneOfMultipleImpressionLimitsTriggered) {
-  ImpressionLimit* onceEveryTwoDays = [[ImpressionLimit alloc] initWithLimit:1
-                                                                  forNumDays:2];
-  ImpressionLimit* thricePerWeek = [[ImpressionLimit alloc] initWithLimit:3
-                                                               forNumDays:7];
-  NSArray<ImpressionLimit*>* limits = @[
-    thricePerWeek,
-    onceEveryTwoDays,
-  ];
-
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(1, 1, limits), true);
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(1, 2, limits), false);
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(2, 2, limits), false);
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(2, 4, limits), false);
-}
-
-// Tests PromosManager::AnyImpressionLimitTriggered() correctly detects no
-// impression limits are triggered.
-TEST_F(PromosManagerImplTest, DetectsNoImpressionLimitTriggered) {
-  ImpressionLimit* onceEveryTwoDays = [[ImpressionLimit alloc] initWithLimit:1
-                                                                  forNumDays:2];
-  ImpressionLimit* thricePerWeek = [[ImpressionLimit alloc] initWithLimit:3
-                                                               forNumDays:7];
-  NSArray<ImpressionLimit*>* limits = @[ onceEveryTwoDays, thricePerWeek ];
-
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(1, 1, nil), false);
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(0, 3, limits), false);
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(1, 5, limits), false);
-  EXPECT_EQ(promos_manager_->AnyImpressionLimitTriggered(2, 5, limits), false);
-}
-
 // Tests PromosManager::CanShowPromo() correctly allows a promo to be shown
 // because it hasn't met any impression limits.
 TEST_F(PromosManagerImplTest, DecidesCanShowPromo) {
   base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndDisableFeature(kPromosManagerUsesFET);
 
   CreatePromosManager();
 
-  const std::vector<promos_manager::Impression> zeroImpressions = {};
-  EXPECT_EQ(promos_manager_->CanShowPromo(promos_manager::Promo::Test,
-                                          zeroImpressions),
-            true);
+  PromoConfigsSet promoConfigs;
+  promoConfigs.emplace(promos_manager::Promo::Test, &kTestFeatureOne);
+  promos_manager_->InitializePromoConfigs(std::move(promoConfigs));
+
+  EXPECT_CALL(mock_tracker_, ShouldTriggerHelpUI(testing::Ref(kTestFeatureOne)))
+      .WillRepeatedly(testing::Return(true));
+
+  EXPECT_EQ(promos_manager_->CanShowPromo(promos_manager::Promo::Test), true);
 }
 
 // Tests PromosManager::CanShowPromo() correctly allows/denies promos based on
 // promo specific limits.
-TEST_F(PromosManagerImplTest, CanShowPromo_TestPromoSpecifLimits) {
+TEST_F(PromosManagerImplTest, CanShowPromo_TestPromoSpecificLimits) {
   base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndDisableFeature(kPromosManagerUsesFET);
 
   CreatePromosManager();
-  SetPromoLimits();
 
-  int today = TodaysDay();
+  PromoConfigsSet promoConfigs;
+  promoConfigs.emplace(promos_manager::Promo::Test, &kTestFeatureOne);
+  promoConfigs.emplace(promos_manager::Promo::AppStoreRating, &kTestFeatureTwo);
+  promoConfigs.emplace(promos_manager::Promo::CredentialProviderExtension,
+                       &kTestFeatureThree);
+  promos_manager_->InitializePromoConfigs(std::move(promoConfigs));
 
-  const std::vector<promos_manager::Impression> impressions = {
-      promos_manager::Impression(promos_manager::Promo::Test, today - 40,
-                                 false),
-      promos_manager::Impression(promos_manager::Promo::DefaultBrowser,
-                                 today - 50, false),
-      promos_manager::Impression(promos_manager::Promo::AppStoreRating,
-                                 today - 60, false),
-      promos_manager::Impression(
-          promos_manager::Promo::CredentialProviderExtension, today - 70,
-          false),
-  };
+  // Mock the FET tracker to disallow Test and AppStoreRating due to impression
+  // counting rules, and allow CredentialProviderExtension.
+  EXPECT_CALL(mock_tracker_, ShouldTriggerHelpUI(testing::Ref(kTestFeatureOne)))
+      .WillRepeatedly(testing::Return(false));
+  EXPECT_CALL(mock_tracker_, ShouldTriggerHelpUI(testing::Ref(kTestFeatureTwo)))
+      .WillRepeatedly(testing::Return(false));
+  EXPECT_CALL(mock_tracker_,
+              ShouldTriggerHelpUI(testing::Ref(kTestFeatureThree)))
+      .WillRepeatedly(testing::Return(true));
 
-  // False because triggers no more than 1 impression per 365 days.
+  EXPECT_EQ(promos_manager_->CanShowPromo(promos_manager::Promo::Test), false);
   EXPECT_EQ(
-      promos_manager_->CanShowPromo(promos_manager::Promo::Test, impressions),
-      false);
-  EXPECT_EQ(promos_manager_->CanShowPromo(promos_manager::Promo::AppStoreRating,
-                                          impressions),
-            false);
-  EXPECT_EQ(
-      promos_manager_->CanShowPromo(
-          promos_manager::Promo::CredentialProviderExtension, impressions),
+      promos_manager_->CanShowPromo(promos_manager::Promo::AppStoreRating),
       false);
 
-  // True because `DefaultBrowser` can be shown more than 1 time per 365 days.
-  EXPECT_EQ(promos_manager_->CanShowPromo(promos_manager::Promo::DefaultBrowser,
-                                          impressions),
+  EXPECT_EQ(promos_manager_->CanShowPromo(
+                promos_manager::Promo::CredentialProviderExtension),
             true);
 }
 
-// Tests PromosManager::CanShowPromo() correctly allows/denies promos based on
-// global per promo impression limits.
-TEST_F(PromosManagerImplTest, CanShowPromo_TestGlobalPerPromoImpressionLimits) {
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndDisableFeature(kPromosManagerUsesFET);
-
-  CreatePromosManager();
-  SetPromoLimits();
-
-  int today = TodaysDay();
-
-  const std::vector<promos_manager::Impression> impressions = {
-      promos_manager::Impression(promos_manager::Promo::DefaultBrowser,
-                                 today - 29, false),
-  };
-
-  // True because this promo is requested first time and global impression
-  // limits(3 promo a week, 1 promo every 2 days) are not triggered.
-  EXPECT_EQ(promos_manager_->CanShowPromo(promos_manager::Promo::AppStoreRating,
-                                          impressions),
-            true);
-  // False because global per promo limits are triggered (given promo is
-  // displayed 1 in 30 days)
-  EXPECT_EQ(promos_manager_->CanShowPromo(promos_manager::Promo::DefaultBrowser,
-                                          impressions),
-            false);
-}
-
-// Tests PromosManager::CanShowPromo() correctly allows/denies promos based on
-// global impression limits.
-TEST_F(PromosManagerImplTest, CanShowPromo_TestGlobalImpressionLimits) {
-  base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndDisableFeature(kPromosManagerUsesFET);
-
-  CreatePromosManager();
-  SetPromoLimits();
-
-  int today = TodaysDay();
-  {
-    const std::vector<promos_manager::Impression> impressions = {
-        promos_manager::Impression(promos_manager::Promo::Test, today - 1,
-                                   false),
-    };
-
-    // False because only 1 promo per 2 days is allowed.
-    EXPECT_EQ(promos_manager_->CanShowPromo(
-                  promos_manager::Promo::AppStoreRating, impressions),
-              false);
-  }
-
-  {
-    const std::vector<promos_manager::Impression> impressions = {
-        promos_manager::Impression(promos_manager::Promo::Test, today - 2,
-                                   false),
-    };
-
-    // True because 1 promo per 2 days limit is not triggered.
-    EXPECT_EQ(promos_manager_->CanShowPromo(
-                  promos_manager::Promo::AppStoreRating, impressions),
-              true);
-  }
-
-  {
-    const std::vector<promos_manager::Impression> impressions = {
-        promos_manager::Impression(promos_manager::Promo::Test, today - 2,
-                                   false),
-        promos_manager::Impression(promos_manager::Promo::DefaultBrowser,
-                                   today - 4, false),
-        promos_manager::Impression(
-            promos_manager::Promo::CredentialProviderExtension, today - 6,
-            false),
-    };
-
-    // False because cannot show more than 3 promos in 7 days
-    EXPECT_EQ(promos_manager_->CanShowPromo(
-                  promos_manager::Promo::AppStoreRating, impressions),
-              false);
-  }
-
-  {
-    const std::vector<promos_manager::Impression> impressions = {
-        promos_manager::Impression(promos_manager::Promo::Test, today - 2,
-                                   false),
-        promos_manager::Impression(promos_manager::Promo::DefaultBrowser,
-                                   today - 4, false),
-    };
-
-    // True because 1 promo per 2 days and 3 promo a week limits are not
-    // triggered.
-    EXPECT_EQ(promos_manager_->CanShowPromo(
-                  promos_manager::Promo::AppStoreRating, impressions),
-              true);
-  }
-}
-
 // Tests PromosManager::SortPromos() correctly returns a list of active
 // promos sorted by impression history.
 TEST_F(PromosManagerImplTest, SortPromos) {
@@ -568,24 +329,10 @@
       {promos_manager::Promo::Test, kPromoContextForActive},
   };
 
-  int today = TodaysDay();
-
-  const std::vector<promos_manager::Impression> impressions = {
-      promos_manager::Impression(promos_manager::Promo::Test, today, false),
-      promos_manager::Impression(promos_manager::Promo::DefaultBrowser,
-                                 today - 7, false),
-      promos_manager::Impression(promos_manager::Promo::AppStoreRating,
-                                 today - 14, false),
-      promos_manager::Impression(
-          promos_manager::Promo::CredentialProviderExtension, today - 180,
-          false),
-  };
-
   const std::vector<promos_manager::Promo> expected = {
       promos_manager::Promo::Test,
   };
 
-  promos_manager_->impression_history_ = impressions;
   EXPECT_EQ(promos_manager_->SortPromos(active_promos), expected);
 }
 
@@ -595,22 +342,8 @@
   CreatePromosManager();
   const std::map<promos_manager::Promo, PromoContext> active_promos;
 
-  int today = TodaysDay();
-
-  const std::vector<promos_manager::Impression> impressions = {
-      promos_manager::Impression(promos_manager::Promo::Test, today, false),
-      promos_manager::Impression(promos_manager::Promo::DefaultBrowser,
-                                 today - 7, false),
-      promos_manager::Impression(promos_manager::Promo::AppStoreRating,
-                                 today - 14, false),
-      promos_manager::Impression(
-          promos_manager::Promo::CredentialProviderExtension, today - 180,
-          false),
-  };
-
   const std::vector<promos_manager::Promo> expected;
 
-  promos_manager_->impression_history_ = impressions;
   EXPECT_EQ(promos_manager_->SortPromos(active_promos), expected);
 }
 
@@ -621,10 +354,8 @@
   CreatePromosManager();
   const std::map<promos_manager::Promo, PromoContext> active_promos;
 
-  const std::vector<promos_manager::Impression> impressions;
   const std::vector<promos_manager::Promo> expected;
 
-  promos_manager_->impression_history_ = impressions;
   EXPECT_EQ(promos_manager_->SortPromos(active_promos), expected);
 }
 
@@ -680,20 +411,6 @@
       {promos_manager::Promo::PostRestoreSignInAlert, PromoContext{false}},
   };
 
-  int today = TodaysDay();
-
-  const std::vector<promos_manager::Impression> impressions = {
-      promos_manager::Impression(
-          promos_manager::Promo::PostRestoreSignInFullscreen, today - 1, false),
-      promos_manager::Impression(promos_manager::Promo::PostRestoreSignInAlert,
-                                 today - 2, false),
-      promos_manager::Impression(promos_manager::Promo::DefaultBrowser,
-                                 today - 7, false),
-
-      promos_manager::Impression(promos_manager::Promo::Test, today - 8, false),
-  };
-
-  promos_manager_->impression_history_ = impressions;
   std::vector<promos_manager::Promo> sorted =
       promos_manager_->SortPromos(active_promos);
   EXPECT_EQ(sorted.size(), (size_t)4);
@@ -715,17 +432,6 @@
       {promos_manager::Promo::AppStoreRating, PromoContext{true}},
   };
 
-  int today = TodaysDay();
-
-  const std::vector<promos_manager::Impression> impressions = {
-      promos_manager::Impression(promos_manager::Promo::Test, today - 1, false),
-      promos_manager::Impression(promos_manager::Promo::AppStoreRating,
-                                 today - 2, false),
-      promos_manager::Impression(promos_manager::Promo::DefaultBrowser,
-                                 today - 7, false),
-  };
-
-  promos_manager_->impression_history_ = impressions;
   std::vector<promos_manager::Promo> sorted =
       promos_manager_->SortPromos(active_promos);
   EXPECT_EQ(sorted.size(), (size_t)3);
@@ -736,92 +442,6 @@
   EXPECT_EQ(sorted[2], promos_manager::Promo::DefaultBrowser);
 }
 
-// Tests PromosManager::ImpressionHistory() correctly ingests impression history
-// (base::Value::List) and returns corresponding
-// std::vector<promos_manager::Impression>.
-TEST_F(PromosManagerImplTest, ReturnsImpressionHistory) {
-  int today = TodaysDay();
-
-  base::Value::Dict first_impression;
-  first_impression.Set(
-      promos_manager::kImpressionPromoKey,
-      promos_manager::NameForPromo(promos_manager::Promo::DefaultBrowser));
-  first_impression.Set(promos_manager::kImpressionDayKey, today);
-
-  base::Value::Dict second_impression;
-  second_impression.Set(
-      promos_manager::kImpressionPromoKey,
-      promos_manager::NameForPromo(promos_manager::Promo::AppStoreRating));
-  second_impression.Set(promos_manager::kImpressionDayKey, today - 7);
-
-  base::Value::List impressions;
-  impressions.Append(first_impression.Clone());
-  impressions.Append(second_impression.Clone());
-
-  std::vector<promos_manager::Impression> expected = {
-      promos_manager::Impression(promos_manager::Promo::DefaultBrowser, today,
-                                 false),
-      promos_manager::Impression(promos_manager::Promo::AppStoreRating,
-                                 today - 7, false),
-  };
-
-  std::vector<promos_manager::Impression> result =
-      promos_manager_->ImpressionHistory(impressions);
-
-  EXPECT_EQ(expected.size(), result.size());
-  EXPECT_EQ(expected[0].promo, result[0].promo);
-  EXPECT_EQ(expected[0].day, result[0].day);
-  EXPECT_EQ(expected[1].promo, result[1].promo);
-  EXPECT_EQ(expected[1].day, result[1].day);
-}
-
-// Tests PromosManager::ImpressionHistory() correctly ingests empty impression
-// history (base::Value::List) and returns empty
-// std::vector<promos_manager::Impression>.
-TEST_F(PromosManagerImplTest, ReturnsBlankImpressionHistoryForBlankPrefs) {
-  base::Value::List impressions;
-
-  std::vector<promos_manager::Impression> result =
-      promos_manager_->ImpressionHistory(impressions);
-
-  EXPECT_TRUE(result.empty());
-}
-
-// Tests PromosManager::ImpressionHistory() correctly ingests impression history
-// with malformed data (base::Value::List) and returns corresponding
-// std::vector<promos_manager::Impression> without malformed entries.
-TEST_F(PromosManagerImplTest,
-       ReturnsImpressionHistoryBySkippingMalformedEntries) {
-  int today = TodaysDay();
-
-  base::Value::Dict first_impression;
-  first_impression.Set(
-      promos_manager::kImpressionPromoKey,
-      promos_manager::NameForPromo(promos_manager::Promo::DefaultBrowser));
-  first_impression.Set(promos_manager::kImpressionDayKey, today);
-
-  base::Value::Dict second_impression;
-  second_impression.Set("foobar", promos_manager::NameForPromo(
-                                      promos_manager::Promo::AppStoreRating));
-  second_impression.Set(promos_manager::kImpressionDayKey, today - 7);
-
-  base::Value::List impressions;
-  impressions.Append(first_impression.Clone());
-  impressions.Append(second_impression.Clone());
-
-  std::vector<promos_manager::Impression> expected = {
-      promos_manager::Impression(promos_manager::Promo::DefaultBrowser, today,
-                                 false),
-  };
-
-  std::vector<promos_manager::Impression> result =
-      promos_manager_->ImpressionHistory(impressions);
-
-  EXPECT_EQ(expected.size(), result.size());
-  EXPECT_EQ(expected[0].promo, result[0].promo);
-  EXPECT_EQ(expected[0].day, result[0].day);
-}
-
 // Tests PromosManager::ActivePromos() correctly ingests active promos
 // (base::Value::List) and returns corresponding
 // std::vector<promos_manager::Promo>.
@@ -1329,84 +949,6 @@
             test_clock_.Now() + kTimeDelta1Day * 2);
 }
 
-// Tests PromosManager::InitializePromoImpressionLimits() correctly registers
-// promo-specific impression limits.
-TEST_F(PromosManagerImplTest, RegistersPromoSpecificImpressionLimits) {
-  CreatePromosManager();
-
-  ImpressionLimit* onceEveryTwoDays = [[ImpressionLimit alloc] initWithLimit:1
-                                                                  forNumDays:2];
-  ImpressionLimit* thricePerWeek = [[ImpressionLimit alloc] initWithLimit:3
-                                                               forNumDays:7];
-  NSArray<ImpressionLimit*>* defaultBrowserLimits = @[
-    onceEveryTwoDays,
-  ];
-
-  NSArray<ImpressionLimit*>* credentialProviderLimits = @[
-    thricePerWeek,
-  ];
-
-  PromoConfigsSet promoImpressionLimits;
-  promoImpressionLimits.emplace(promos_manager::Promo::DefaultBrowser, nullptr,
-                                defaultBrowserLimits);
-  promoImpressionLimits.emplace(
-      promos_manager::Promo::CredentialProviderExtension, nullptr,
-      credentialProviderLimits);
-  promos_manager_->InitializePromoConfigs(std::move(promoImpressionLimits));
-
-  EXPECT_EQ(promos_manager_->PromoImpressionLimits(
-                promos_manager::Promo::DefaultBrowser),
-            defaultBrowserLimits);
-  EXPECT_EQ(promos_manager_->PromoImpressionLimits(
-                promos_manager::Promo::CredentialProviderExtension),
-            credentialProviderLimits);
-}
-
-// Tests PromosManager::RecordImpression() correctly records a new impression.
-TEST_F(PromosManagerImplTest, RecordsImpression) {
-  CreatePromosManager();
-  promos_manager_->RecordImpression(promos_manager::Promo::DefaultBrowser);
-
-  EXPECT_EQ(local_state_->GetList(prefs::kIosPromosManagerImpressions).size(),
-            (size_t)1);
-
-  promos_manager_->RecordImpression(
-      promos_manager::Promo::CredentialProviderExtension);
-
-  const auto& impression_history =
-      local_state_->GetList(prefs::kIosPromosManagerImpressions);
-  const base::Value::Dict& first_impression = impression_history[0].GetDict();
-  const base::Value::Dict& second_impression = impression_history[1].GetDict();
-
-  EXPECT_EQ(impression_history.size(), (size_t)2);
-  EXPECT_EQ(*first_impression.FindString(promos_manager::kImpressionPromoKey),
-            "promos_manager::Promo::DefaultBrowser");
-  EXPECT_TRUE(
-      first_impression.FindInt(promos_manager::kImpressionDayKey).has_value());
-  EXPECT_EQ(first_impression.FindInt(promos_manager::kImpressionDayKey).value(),
-            TodaysDay());
-  EXPECT_EQ(*second_impression.FindString(promos_manager::kImpressionPromoKey),
-            "promos_manager::Promo::CredentialProviderExtension");
-  EXPECT_TRUE(
-      second_impression.FindInt(promos_manager::kImpressionDayKey).has_value());
-  EXPECT_EQ(
-      second_impression.FindInt(promos_manager::kImpressionDayKey).value(),
-      TodaysDay());
-}
-
-// Tests PromosManager::RecordImpression() correctly records a new impression
-// and immediately updates impression_history_ to reflect the new state
-TEST_F(PromosManagerImplTest, RecordsImpressionAndImmediatelyUpdateVariables) {
-  CreatePromosManager();
-
-  promos_manager_->RecordImpression(promos_manager::Promo::DefaultBrowser);
-  EXPECT_EQ(promos_manager_->impression_history_.size(), (size_t)1);
-
-  promos_manager_->RecordImpression(
-      promos_manager::Promo::CredentialProviderExtension);
-  EXPECT_EQ(promos_manager_->impression_history_.size(), (size_t)2);
-}
-
 // Tests PromosManager::DeregisterPromo() deregisters a promo, all the entries
 // with the same promo type in the Pref/in-memory variables will be removed,
 // regardless of the context of being single/continuous or active/pending.
@@ -1596,7 +1138,6 @@
 // and takes precedence over other active promos.
 TEST_F(PromosManagerImplTest, NextPromoForDisplayReturnsPendingPromo) {
   base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndDisableFeature(kPromosManagerUsesFET);
 
   CreatePromosManager();
 
@@ -1610,12 +1151,24 @@
        test_clock_.Now() + kTimeDelta1Day * 2},
   };
 
+  PromoConfigsSet promoConfigs;
+  promoConfigs.emplace(promos_manager::Promo::Test, &kTestFeatureOne);
+  promoConfigs.emplace(promos_manager::Promo::CredentialProviderExtension,
+                       &kTestFeatureTwo);
+  promoConfigs.emplace(promos_manager::Promo::AppStoreRating,
+                       &kTestFeatureThree);
+  promos_manager_->InitializePromoConfigs(std::move(promoConfigs));
+
+  // Mock the FET tracker to allow all promos.
+  EXPECT_CALL(mock_tracker_, ShouldTriggerHelpUI(testing::_))
+      .WillRepeatedly(testing::Return(true));
+
   // Advance to so that the CredentialProviderExtension becomes active.
   test_clock_.Advance(kTimeDelta1Day + kTimeDelta1Hour);
 
   std::optional<promos_manager::Promo> promo =
       promos_manager_->NextPromoForDisplay();
-  EXPECT_TRUE(promo.has_value());
+  ASSERT_TRUE(promo.has_value());
   EXPECT_EQ(promo.value(), promos_manager::Promo::CredentialProviderExtension);
 }
 
@@ -1625,7 +1178,6 @@
 TEST_F(PromosManagerImplTest,
        NextPromoForDisplayReturnsActivePromoOfPrioritizedType) {
   base::test::ScopedFeatureList feature_list;
-  feature_list.InitAndDisableFeature(kPromosManagerUsesFET);
 
   CreatePromosManager();
 
@@ -1637,13 +1189,24 @@
        test_clock_.Now() + kTimeDelta1Day},
   };
 
+  PromoConfigsSet promoConfigs;
+  promoConfigs.emplace(promos_manager::Promo::PostRestoreSignInFullscreen,
+                       &kTestFeatureOne);
+  promoConfigs.emplace(promos_manager::Promo::CredentialProviderExtension,
+                       &kTestFeatureTwo);
+  promos_manager_->InitializePromoConfigs(std::move(promoConfigs));
+
+  // Mock the FET tracker to allow all promos.
+  EXPECT_CALL(mock_tracker_, ShouldTriggerHelpUI(testing::_))
+      .WillRepeatedly(testing::Return(true));
+
   // Advance to so that the CredentialProviderExtension becomes active.
   test_clock_.Advance(kTimeDelta1Day + kTimeDelta1Hour);
 
   std::optional<promos_manager::Promo> promo =
       promos_manager_->NextPromoForDisplay();
 
-  EXPECT_TRUE(promo.has_value());
+  ASSERT_TRUE(promo.has_value());
   EXPECT_EQ(promo.value(), promos_manager::Promo::PostRestoreSignInFullscreen);
 }
 
@@ -1667,33 +1230,3 @@
 
   EXPECT_FALSE(promo.has_value());
 }
-
-// Tests `NextPromoForDisplay` returns empty when non of the promos can pass the
-// onceEveryTwoDays impression limit check.
-TEST_F(PromosManagerImplTest,
-       NextPromoForDisplayReturnsEmptyAfterImpressionCheck) {
-  CreatePromosManager();
-
-  promos_manager_->single_display_active_promos_ = {
-      promos_manager::Promo::AppStoreRating};
-  promos_manager_->single_display_pending_promos_ = {
-      {promos_manager::Promo::Test, test_clock_.Now() + kTimeDelta1Hour},
-      {promos_manager::Promo::CredentialProviderExtension,
-       test_clock_.Now() + kTimeDelta1Hour},
-  };
-
-  int today = TodaysDay();
-  const std::vector<promos_manager::Impression> impressions = {
-      promos_manager::Impression(promos_manager::Promo::Test, today, false),
-  };
-  promos_manager_->impression_history_ = impressions;
-
-  // Advance the time so that all pending promos can become active, but will
-  // fall into the two-day window since the last impression.
-  test_clock_.Advance(kTimeDelta1Day);
-
-  std::optional<promos_manager::Promo> promo =
-      promos_manager_->NextPromoForDisplay();
-
-  EXPECT_FALSE(promo.has_value());
-}
diff --git a/ios/chrome/browser/rlz/rlz_tracker_delegate_impl.h b/ios/chrome/browser/rlz/rlz_tracker_delegate_impl.h
index 3cdb3c4..7923ceb4 100644
--- a/ios/chrome/browser/rlz/rlz_tracker_delegate_impl.h
+++ b/ios/chrome/browser/rlz/rlz_tracker_delegate_impl.h
@@ -43,6 +43,7 @@
   bool ClearReferral() override;
   void SetOmniboxSearchCallback(base::OnceClosure callback) override;
   void SetHomepageSearchCallback(base::OnceClosure callback) override;
+  void RunHomepageSearchCallback() override;
   bool ShouldUpdateExistingAccessPointRlz() override;
 
   // Called when user open an URL from the Omnibox.
diff --git a/ios/chrome/browser/rlz/rlz_tracker_delegate_impl.mm b/ios/chrome/browser/rlz/rlz_tracker_delegate_impl.mm
index 01beb32..dacd7f5 100644
--- a/ios/chrome/browser/rlz/rlz_tracker_delegate_impl.mm
+++ b/ios/chrome/browser/rlz/rlz_tracker_delegate_impl.mm
@@ -118,6 +118,10 @@
   NOTREACHED();
 }
 
+void RLZTrackerDelegateImpl::RunHomepageSearchCallback() {
+  NOTREACHED();
+}
+
 bool RLZTrackerDelegateImpl::ShouldUpdateExistingAccessPointRlz() {
   NOTREACHED();
   return false;
diff --git a/ios/chrome/browser/ui/content_suggestions/magic_stack/magic_stack_module_container.mm b/ios/chrome/browser/ui/content_suggestions/magic_stack/magic_stack_module_container.mm
index 31eb776..1276398 100644
--- a/ios/chrome/browser/ui/content_suggestions/magic_stack/magic_stack_module_container.mm
+++ b/ios/chrome/browser/ui/content_suggestions/magic_stack/magic_stack_module_container.mm
@@ -69,6 +69,7 @@
   UIImageView* _placeholderImage;
   UIStackView* _titleStackView;
     MagicStackModuleContentsFactory* _magicStackModuleContentsFactory;
+    NSLayoutConstraint* _containerHeightAnchor;
 }
 
 - (instancetype)initWithFrame:(CGRect)frame {
@@ -184,20 +185,9 @@
           constraintEqualToAnchor:_stackView.trailingAnchor],
     ]];
 
-    // Ensures that the modules conforms to a height of kModuleMaxHeight. For
-    // the MVT when it lives outside of the Magic Stack to stay as close to its
-    // intrinsic size as possible, the constraint is configured to be less than
-    // or equal to.
-    if (_type == ContentSuggestionsModuleType::kMostVisited &&
-        !ShouldPutMostVisitedSitesInMagicStack()) {
-      [NSLayoutConstraint activateConstraints:@[
-        [self.heightAnchor constraintLessThanOrEqualToConstant:kModuleMaxHeight]
-      ]];
-    } else {
-      [NSLayoutConstraint activateConstraints:@[
-        [self.heightAnchor constraintEqualToConstant:kModuleMaxHeight]
-      ]];
-    }
+    _containerHeightAnchor =
+        [self.heightAnchor constraintEqualToConstant:kModuleMaxHeight];
+    [NSLayoutConstraint activateConstraints:@[ _containerHeightAnchor ]];
 
     [self addSubview:_stackView];
     AddSameConstraintsWithInsets(_stackView, self, [self contentMargins]);
@@ -259,6 +249,18 @@
 }
 
 - (void)configureWithConfig:(MagicStackModule*)config {
+  // Ensures that the modules conforms to a height of kModuleMaxHeight. For
+  // the MVT when it lives outside of the Magic Stack to stay as close to its
+  // intrinsic size as possible, the constraint is configured to be less than
+  // or equal to.
+  if (config.type == ContentSuggestionsModuleType::kMostVisited &&
+      !ShouldPutMostVisitedSitesInMagicStack()) {
+    _containerHeightAnchor.active = NO;
+    _containerHeightAnchor = [self.heightAnchor
+        constraintLessThanOrEqualToConstant:kModuleMaxHeight];
+    [NSLayoutConstraint activateConstraints:@[ _containerHeightAnchor ]];
+  }
+
   if (config.type == ContentSuggestionsModuleType::kPlaceholder) {
     _isPlaceholder = YES;
     _placeholderImage = [[UIImageView alloc]
diff --git a/ios/chrome/browser/ui/first_run/omnibox_position/omnibox_position_egtest.mm b/ios/chrome/browser/ui/first_run/omnibox_position/omnibox_position_egtest.mm
index 50f8d3ff..a97f875 100644
--- a/ios/chrome/browser/ui/first_run/omnibox_position/omnibox_position_egtest.mm
+++ b/ios/chrome/browser/ui/first_run/omnibox_position/omnibox_position_egtest.mm
@@ -290,10 +290,6 @@
   config.additional_args.push_back("promos_manager::Promo::OmniboxPosition");
   config.relaunch_policy = ForceRelaunchByCleanShutdown;
 
-  // Disable FET in promo manager as the initialization takes too much time and
-  // causes the test to fail (crbug.com/1505431).
-  config.features_disabled.push_back(kPromosManagerUsesFET);
-
   std::string bottomOptionByDefault =
       std::string(kBottomOmniboxPromoDefaultPosition.name) + ":" +
       kBottomOmniboxPromoDefaultPositionParam + "/" +
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_text_field_experimental.mm b/ios/chrome/browser/ui/omnibox/omnibox_text_field_experimental.mm
index 14f03786..eb34ef8 100644
--- a/ios/chrome/browser/ui/omnibox/omnibox_text_field_experimental.mm
+++ b/ios/chrome/browser/ui/omnibox/omnibox_text_field_experimental.mm
@@ -97,6 +97,9 @@
     self.textAlignment = NSTextAlignmentNatural;
     self.keyboardType = UIKeyboardTypeWebSearch;
     self.smartQuotesType = UITextSmartQuotesTypeNo;
+    // Prevent the text from overlapping the clear text button.
+    // (crbug.com/1403031)
+    self.textInputView.clipsToBounds = YES;
 
     // Disable drag on iPhone because there's nowhere to drag to
     if (ui::GetDeviceFormFactor() != ui::DEVICE_FORM_FACTOR_TABLET) {
diff --git a/ios/chrome/browser/ui/omnibox/omnibox_text_field_legacy.mm b/ios/chrome/browser/ui/omnibox/omnibox_text_field_legacy.mm
index bc0bc5d..b38dd4b 100644
--- a/ios/chrome/browser/ui/omnibox/omnibox_text_field_legacy.mm
+++ b/ios/chrome/browser/ui/omnibox/omnibox_text_field_legacy.mm
@@ -116,6 +116,9 @@
     self.textAlignment = NSTextAlignmentNatural;
     self.keyboardType = UIKeyboardTypeWebSearch;
     self.smartQuotesType = UITextSmartQuotesTypeNo;
+    // Prevent the text from overlapping the clear text button.
+    // (crbug.com/1403031)
+    self.textInputView.clipsToBounds = YES;
 
     // Disable drag on iPhone because there's nowhere to drag to
     if (ui::GetDeviceFormFactor() != ui::DEVICE_FORM_FACTOR_TABLET) {
diff --git a/ios/chrome/browser/ui/passwords/bottom_sheet/BUILD.gn b/ios/chrome/browser/ui/passwords/bottom_sheet/BUILD.gn
index 1000ca8f..322527b 100644
--- a/ios/chrome/browser/ui/passwords/bottom_sheet/BUILD.gn
+++ b/ios/chrome/browser/ui/passwords/bottom_sheet/BUILD.gn
@@ -69,6 +69,7 @@
     "//ios/chrome/browser/shared/ui/symbols",
     "//ios/chrome/browser/shared/ui/table_view/cells",
     "//ios/chrome/browser/ui/settings/password:title_view",
+    "//ios/chrome/common:string_util",
     "//ios/chrome/common/ui/colors",
     "//ios/chrome/common/ui/confirmation_alert",
     "//ios/chrome/common/ui/favicon",
diff --git a/ios/chrome/browser/ui/passwords/bottom_sheet/password_suggestion_bottom_sheet_view_controller.mm b/ios/chrome/browser/ui/passwords/bottom_sheet/password_suggestion_bottom_sheet_view_controller.mm
index c077761c..e37f8c86 100644
--- a/ios/chrome/browser/ui/passwords/bottom_sheet/password_suggestion_bottom_sheet_view_controller.mm
+++ b/ios/chrome/browser/ui/passwords/bottom_sheet/password_suggestion_bottom_sheet_view_controller.mm
@@ -16,6 +16,7 @@
 #import "ios/chrome/browser/ui/passwords/bottom_sheet/password_suggestion_bottom_sheet_handler.h"
 #import "ios/chrome/browser/ui/settings/password/branded_navigation_item_title_view.h"
 #import "ios/chrome/browser/ui/settings/password/create_password_manager_title_view.h"
+#import "ios/chrome/common/string_util.h"
 #import "ios/chrome/common/ui/colors/semantic_color_names.h"
 #import "ios/chrome/common/ui/confirmation_alert/confirmation_alert_action_handler.h"
 #import "ios/chrome/common/ui/favicon/favicon_view.h"
@@ -334,6 +335,16 @@
   [self dismiss];
 }
 
+#pragma mark - ConfirmationAlertViewController
+
+- (void)customizeSubtitle:(UITextView*)subtitle {
+  if (_subtitle) {
+    subtitle.attributedText =
+        PutBoldPartInString(_subtitle, UIFontTextStyleBody);
+    subtitle.textAlignment = NSTextAlignmentCenter;
+  }
+}
+
 #pragma mark - Private
 
 // Configures the title view of this ViewController.
diff --git a/ios/chrome/browser/ui/promos_manager/promos_manager_coordinator.mm b/ios/chrome/browser/ui/promos_manager/promos_manager_coordinator.mm
index 3a69b6c..a1fbabae 100644
--- a/ios/chrome/browser/ui/promos_manager/promos_manager_coordinator.mm
+++ b/ios/chrome/browser/ui/promos_manager/promos_manager_coordinator.mm
@@ -156,24 +156,20 @@
 // Display a promo if one is available, with special behavior if this is the
 // first time this coordinator has shown a promo.
 - (void)displayPromoIfAvailable:(BOOL)isFirstShownPromo {
-  if (ShouldPromosManagerUseFET()) {
-    // Wait to present a promo until the feature engagement tracker database
-    // is fully initialized.
-    __weak __typeof(self) weakSelf = self;
-    void (^onInitializedBlock)(bool) = ^(bool successfullyLoaded) {
-      if (!successfullyLoaded) {
-        return;
-      }
-      [weakSelf displayPromoCallback:isFirstShownPromo];
-    };
+  // Wait to present a promo until the feature engagement tracker database
+  // is fully initialized.
+  __weak __typeof(self) weakSelf = self;
+  void (^onInitializedBlock)(bool) = ^(bool successfullyLoaded) {
+    if (!successfullyLoaded) {
+      return;
+    }
+    [weakSelf displayPromoCallback:isFirstShownPromo];
+  };
 
-    feature_engagement::Tracker* tracker =
-        feature_engagement::TrackerFactory::GetForBrowserState(
-            self.browser->GetBrowserState());
-    tracker->AddOnInitializedCallback(base::BindOnce(onInitializedBlock));
-  } else {
-    [self displayPromoCallback:isFirstShownPromo];
-  }
+  feature_engagement::Tracker* tracker =
+      feature_engagement::TrackerFactory::GetForBrowserState(
+          self.browser->GetBrowserState());
+  tracker->AddOnInitializedCallback(base::BindOnce(onInitializedBlock));
 }
 
 - (void)displayPromoCallback:(BOOL)isFirstShownPromo {
@@ -191,8 +187,7 @@
 }
 
 - (void)promoWasDismissed {
-  if (ShouldPromosManagerUseFET() && _currentPromoData.has_value() &&
-      !_currentPromoData.value().was_forced) {
+  if (_currentPromoData.has_value() && !_currentPromoData.value().was_forced) {
     PromoConfigsSet configs = [self promoImpressionLimits];
     auto it = configs.find(_currentPromoData.value().promo);
     if (it == configs.end() || !it->feature_engagement_feature) {
diff --git a/ios_internal b/ios_internal
index b5e81d34..8418252 160000
--- a/ios_internal
+++ b/ios_internal
@@ -1 +1 @@
-Subproject commit b5e81d34cc21e705f198c8e69221bae12ed01596
+Subproject commit 84182524be8282c65932447e503098332ab53344
diff --git a/media/base/media_types.h b/media/base/media_types.h
index ed9b7c3..5802cce 100644
--- a/media/base/media_types.h
+++ b/media/base/media_types.h
@@ -11,6 +11,7 @@
 #include "media/base/video_codecs.h"
 #include "media/base/video_color_space.h"
 #include "media/base/video_decoder_config.h"
+#include "third_party/abseil-cpp/absl/types/optional.h"
 
 namespace media {
 
@@ -18,6 +19,13 @@
 // These are generally a subset of {Audio|Video}DecoderConfig classes, which can
 // only be created after demuxing.
 
+enum class YuvSubsampling {
+  k400,
+  k420,
+  k422,
+  k444,
+};
+
 struct MEDIA_EXPORT AudioType {
   static AudioType FromDecoderConfig(const AudioDecoderConfig& config);
 
@@ -34,6 +42,7 @@
   VideoCodecLevel level = kNoVideoCodecLevel;
   VideoColorSpace color_space;
   gfx::HdrMetadataType hdr_metadata_type = gfx::HdrMetadataType::kNone;
+  absl::optional<YuvSubsampling> subsampling;
 };
 
 MEDIA_EXPORT bool operator==(const AudioType& x, const AudioType& y);
diff --git a/media/base/video_codec_string_parsers.cc b/media/base/video_codec_string_parsers.cc
index 1018e74..b228501 100644
--- a/media/base/video_codec_string_parsers.cc
+++ b/media/base/video_codec_string_parsers.cc
@@ -33,6 +33,7 @@
   VideoType result = {
       .codec = VideoCodec::kVP9,
       .color_space = VideoColorSpace::REC709(),
+      .subsampling = YuvSubsampling::k420,
   };
 
   std::vector<std::string> fields = base::SplitString(
@@ -112,14 +113,39 @@
     return absl::nullopt;
   }
 
+  // 4:2:0 isn't supported in profiles 1, 3.
+  if (profile_idc == 1 || profile_idc == 3) {
+    result.subsampling = YuvSubsampling::k422;
+  }
+
   if (values.size() < 4) {
     return result;
   }
   const int chroma_subsampling = values[3];
-  if (chroma_subsampling > 3) {
-    DVLOG(3) << __func__ << " Invalid chroma subsampling ("
-             << chroma_subsampling << ")";
-    return absl::nullopt;
+  switch (chroma_subsampling) {
+    case 0:
+    case 1:
+      result.subsampling = YuvSubsampling::k420;
+      break;
+    case 2:
+      result.subsampling = YuvSubsampling::k422;
+      break;
+    case 3:
+      result.subsampling = YuvSubsampling::k444;
+      break;
+    default:
+      DVLOG(3) << __func__ << " Invalid chroma subsampling ("
+               << chroma_subsampling << ")";
+      return absl::nullopt;
+  }
+
+  if (result.subsampling != YuvSubsampling::k420 && profile_idc != 1 &&
+      profile_idc != 3) {
+    DVLOG(3) << __func__
+             << " 4:2:2 and 4:4:4 are only supported in profile 1, 3";
+
+    // Ideally this would be an error, but even Netflix broke when we tried...
+    result.subsampling = YuvSubsampling::k420;
   }
 
   if (values.size() < 5) {
@@ -219,6 +245,7 @@
   VideoType result = {
       .codec = VideoCodec::kAV1,
       .color_space = VideoColorSpace::REC709(),
+      .subsampling = YuvSubsampling::k420,
   };
 
   if (fields[0] != "av01") {
@@ -302,6 +329,9 @@
   }
 
   if (values.size() <= 5) {
+    if (monochrome == 1) {
+      result.subsampling = YuvSubsampling::k400;
+    }
     return result;
   }
 
@@ -331,6 +361,24 @@
     return absl::nullopt;
   }
 
+  if (subsampling_x == '0' && subsampling_y == '0' && monochrome == 0) {
+    if (result.profile == AV1PROFILE_PROFILE_MAIN) {
+      DVLOG(3) << __func__ << "4:4:4 isn't supported in main profile.";
+    } else {
+      result.subsampling = YuvSubsampling::k444;
+    }
+  } else if (subsampling_x == '1' && subsampling_y == '0' && monochrome == 0) {
+    if (result.profile != AV1PROFILE_PROFILE_PRO) {
+      DVLOG(3) << __func__ << "4:2:2 is only supported in pro profile.";
+    } else {
+      result.subsampling = YuvSubsampling::k422;
+    }
+  } else if (subsampling_x == '1' && subsampling_y == '1' && monochrome == 0) {
+    result.subsampling = YuvSubsampling::k420;
+  } else if (subsampling_x == '1' && subsampling_y == '1' && monochrome == 1) {
+    result.subsampling = YuvSubsampling::k400;
+  }
+
   if (values.size() <= 6) {
     return result;
   }
diff --git a/media/base/video_codec_string_parsers_unittest.cc b/media/base/video_codec_string_parsers_unittest.cc
index db2dcd08..37901f4 100644
--- a/media/base/video_codec_string_parsers_unittest.cc
+++ b/media/base/video_codec_string_parsers_unittest.cc
@@ -29,6 +29,7 @@
     EXPECT_EQ(VP9PROFILE_PROFILE0, result->profile);
     EXPECT_EQ(10u, result->level);
     EXPECT_EQ(VideoColorSpace::TransferID::BT709, result->color_space.transfer);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
   }
 
   // Verify profile's 1, 2, and 3 parse correctly.
@@ -81,13 +82,83 @@
   EXPECT_FALSE(ParseNewStyleVp9CodecID("vp09.02.10.13"));
 
   // Verify chroma subsampling values.
-  EXPECT_TRUE(ParseNewStyleVp9CodecID("vp09.02.10.10.00"));
-  EXPECT_TRUE(ParseNewStyleVp9CodecID("vp09.02.10.10.01"));
-  EXPECT_TRUE(ParseNewStyleVp9CodecID("vp09.02.10.10.02"));
-  EXPECT_TRUE(ParseNewStyleVp9CodecID("vp09.02.10.10.03"));
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.02.10.10.00");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.02.10.10.01");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.01.10.10");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k422, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.03.10.10");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k422, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.01.10.10.02");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k422, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.03.10.10.02");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k422, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.01.10.10.03");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k444, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.03.10.10.03");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k444, result->subsampling);
+  }
+
   // Values 4 - 7 are reserved.
   EXPECT_FALSE(ParseNewStyleVp9CodecID("vp09.02.10.10.04"));
 
+  // Test invalid profile + sampling combinations. These are invalid but due to
+  // in the wild usage will just return the default subsampling value.
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.00.10.10.02");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.00.10.10.02");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.02.10.10.02");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.02.10.10.02");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.02.10.10.03");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
+  }
+  {
+    auto result = ParseNewStyleVp9CodecID("vp09.02.10.10.03");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
+  }
+
   // Verify a few color profiles.
   // BT709
   EXPECT_TRUE(ParseNewStyleVp9CodecID("vp09.02.10.10.00.01"));
@@ -142,6 +213,7 @@
     EXPECT_EQ(AV1PROFILE_PROFILE_MAIN, result->profile);
     EXPECT_EQ(4u, result->level);
     EXPECT_EQ(VideoColorSpace::TransferID::BT709, result->color_space.transfer);
+    EXPECT_EQ(YuvSubsampling::k420, result->subsampling);
   }
 
   // Verify high and pro profiles parse correctly.
@@ -235,19 +307,55 @@
   for (int i = 0; i <= 9; ++i) {
     const std::string codec_string = base::StringPrintf("av01.0.00M.08.%d", i);
     SCOPED_TRACE(codec_string);
-    EXPECT_EQ(i < 2, !!ParseAv1CodecId(codec_string));
+    if (i < 2) {
+      auto result = ParseAv1CodecId(codec_string);
+      ASSERT_TRUE(result);
+      EXPECT_EQ(result->subsampling,
+                i == 0 ? YuvSubsampling::k420 : YuvSubsampling::k400);
+    } else {
+      EXPECT_FALSE(ParseAv1CodecId(codec_string));
+    }
   }
 }
 
 TEST(ParseAv1CodecId, VerifyOptionalSubsampling) {
   // chroma subsampling values are {0,1}{0,1}{0,3} with the last value always
   // zero if either of the first two values are zero.
-  EXPECT_TRUE(ParseAv1CodecId("av01.0.00M.10.0.000"));
-  EXPECT_TRUE(ParseAv1CodecId("av01.0.00M.10.0.100"));
-  EXPECT_TRUE(ParseAv1CodecId("av01.0.00M.10.0.010"));
-  EXPECT_TRUE(ParseAv1CodecId("av01.0.00M.10.0.111"));
-  EXPECT_TRUE(ParseAv1CodecId("av01.0.00M.10.0.112"));
-  EXPECT_TRUE(ParseAv1CodecId("av01.0.00M.10.0.113"));
+  {
+    auto result = ParseAv1CodecId("av01.1.00M.10.0.000");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k444);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.2.00M.10.0.000");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k444);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.2.00M.10.0.100");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k422);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.010");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k420);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.111");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k420);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.112");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k420);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.113");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k420);
+  }
 
   // Invalid cases.
   EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.101"));
@@ -257,10 +365,40 @@
   EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.012"));
   EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.013"));
 
+  // These are invalid but due to in the wild usage will just return the
+  // default subsampling value.
+  {
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.100");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k420);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.1.00M.10.0.100");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k420);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.000");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k420);
+  }
+
   // The last-value may be non-zero if the first two values are non-zero.
-  EXPECT_TRUE(ParseAv1CodecId("av01.0.00M.10.0.110"));
-  EXPECT_TRUE(ParseAv1CodecId("av01.0.00M.10.0.100"));
-  EXPECT_TRUE(ParseAv1CodecId("av01.0.00M.10.0.010"));
+  {
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.110");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k420);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.2.00M.10.0.100");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k422);
+  }
+  {
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.010");
+    ASSERT_TRUE(result);
+    EXPECT_EQ(result->subsampling, YuvSubsampling::k420);
+  }
 
   for (int i = 2; i <= 9; ++i) {
     for (int j = 2; j <= 9; ++j) {
@@ -286,30 +424,30 @@
 
   // BT709
   {
-    auto result = ParseAv1CodecId("av01.0.00M.10.0.000.01");
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.110.01");
     ASSERT_TRUE(result);
     EXPECT_EQ(VideoColorSpace::PrimaryID::BT709, result->color_space.primaries);
   }
   // BT2020
   {
-    auto result = ParseAv1CodecId("av01.0.00M.10.0.000.09");
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.110.09");
     ASSERT_TRUE(result);
     EXPECT_EQ(VideoColorSpace::PrimaryID::BT2020,
               result->color_space.primaries);
   }
   // 0 is invalid.
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.00"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.00"));
   // 23 - 255 are reserved.
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.23"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.23"));
 
   // Leading zeros must be provided.
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.1"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.1"));
   // Negative values are not allowed.
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.-1"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.-1"));
 
   // Verify a few common EOTFs parse correctly.
   for (int eotf : {1, 4, 6, 14, 15, 13, 16}) {
-    auto codec_string = base::StringPrintf("av01.0.00M.10.0.000.01.%02d", eotf);
+    auto codec_string = base::StringPrintf("av01.0.00M.10.0.110.01.%02d", eotf);
     auto result = ParseAv1CodecId(codec_string);
     ASSERT_TRUE(result) << "eotf=" << eotf;
     EXPECT_EQ(static_cast<VideoColorSpace::TransferID>(eotf),
@@ -317,52 +455,52 @@
   }
 
   // Verify 0 and 3 are reserved EOTF values.
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.00"));
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.03"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.00"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.03"));
 
   // Leading zeros must be provided.
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.01.1"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.01.1"));
   // Negative values are not allowed.
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.01.-1"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.01.-1"));
 
   // Verify a few matrix coefficients.
   {
-    auto result = ParseAv1CodecId("av01.0.00M.10.0.000.01.01.00");
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.110.01.01.00");
     ASSERT_TRUE(result);
     EXPECT_EQ(VideoColorSpace::MatrixID::RGB, result->color_space.matrix);
   }
   {
-    auto result = ParseAv1CodecId("av01.0.00M.10.0.000.01.01.01");
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.110.01.01.01");
     ASSERT_TRUE(result);
     EXPECT_EQ(VideoColorSpace::MatrixID::BT709, result->color_space.matrix);
   }
   {
-    auto result = ParseAv1CodecId("av01.0.00M.10.0.000.01.01.10");
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.110.01.01.10");
     ASSERT_TRUE(result);
     EXPECT_EQ(VideoColorSpace::MatrixID::BT2020_CL, result->color_space.matrix);
   }
 
   // Values 12 - 255 reserved. Though 12 at least is a valid value we should
   // support in the future. https://crbug.com/854290
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.01.12"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.01.12"));
 
   // Leading zeros are not allowed.
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.01.00.00"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.01.00.00"));
   // Negative values are not allowed.
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.01.00.-1"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.01.00.-1"));
 
   // Verify full range flag (boolean 0 or 1).
   {
-    auto result = ParseAv1CodecId("av01.0.00M.10.0.000.01.01.00.0");
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.110.01.01.00.0");
     ASSERT_TRUE(result);
     EXPECT_EQ(gfx::ColorSpace::RangeID::LIMITED, result->color_space.range);
   }
   {
-    auto result = ParseAv1CodecId("av01.0.00M.10.0.000.01.01.00.1");
+    auto result = ParseAv1CodecId("av01.0.00M.10.0.110.01.01.00.1");
     ASSERT_TRUE(result);
     EXPECT_EQ(gfx::ColorSpace::RangeID::FULL, result->color_space.range);
   }
-  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.000.01.01.00.2"));
+  EXPECT_FALSE(ParseAv1CodecId("av01.0.00M.10.0.110.01.01.00.2"));
 }
 
 TEST(ParseHEVCCodecIdTest, InvalidHEVCCodecIds) {
diff --git a/media/base/video_util.cc b/media/base/video_util.cc
index e561e6f..bf50495a 100644
--- a/media/base/video_util.cc
+++ b/media/base/video_util.cc
@@ -809,461 +809,6 @@
   return result;
 }
 
-EncoderStatus ConvertAndScaleFrame(const VideoFrame& src_frame,
-                                   VideoFrame& dst_frame,
-                                   std::vector<uint8_t>& tmp_buf) {
-  TRACE_EVENT2("media", "ConvertAndScaleFrame", "src_format",
-               VideoPixelFormatToString(src_frame.format()), "dst_format",
-               VideoPixelFormatToString(dst_frame.format()));
-  constexpr auto kDefaultFiltering = libyuv::kFilterBox;
-  if (!src_frame.IsMappable() || !dst_frame.IsMappable())
-    return EncoderStatus::Codes::kUnsupportedFrameFormat;
-
-  if ((dst_frame.format() == PIXEL_FORMAT_I420A ||
-       dst_frame.format() == PIXEL_FORMAT_I420 ||
-       dst_frame.format() == PIXEL_FORMAT_NV12 ||
-       dst_frame.format() == PIXEL_FORMAT_NV12A) &&
-      (src_frame.format() == PIXEL_FORMAT_XBGR ||
-       src_frame.format() == PIXEL_FORMAT_XRGB ||
-       src_frame.format() == PIXEL_FORMAT_ABGR ||
-       src_frame.format() == PIXEL_FORMAT_ARGB)) {
-    if (!media::IsOpaque(dst_frame.format()) &&
-        media::IsOpaque(src_frame.format())) {
-      // We can drop an alpha channel, but we don't add it out of nothing.
-      return EncoderStatus::Codes::kUnsupportedFrameFormat;
-    }
-
-    // libyuv's RGB to YUV methods always output BT.601.
-    dst_frame.set_color_space(gfx::ColorSpace::CreateREC601());
-
-    size_t src_stride = src_frame.stride(VideoFrame::kARGBPlane);
-    const uint8_t* src_data = src_frame.visible_data(VideoFrame::kARGBPlane);
-    if (src_frame.visible_rect().size() != dst_frame.visible_rect().size()) {
-      size_t tmp_buffer_size = VideoFrame::AllocationSize(
-          src_frame.format(), dst_frame.coded_size());
-      if (tmp_buf.size() < tmp_buffer_size)
-        tmp_buf.resize(tmp_buffer_size);
-
-      size_t stride =
-          VideoFrame::RowBytes(VideoFrame::kARGBPlane, src_frame.format(),
-                               dst_frame.visible_rect().width());
-      int error = libyuv::ARGBScale(
-          src_data, src_stride, src_frame.visible_rect().width(),
-          src_frame.visible_rect().height(), tmp_buf.data(), stride,
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height(),
-          kDefaultFiltering);
-      if (error)
-        return EncoderStatus::Codes::kScalingError;
-      src_data = tmp_buf.data();
-      src_stride = stride;
-    }
-
-    if (dst_frame.format() == PIXEL_FORMAT_I420 ||
-        dst_frame.format() == PIXEL_FORMAT_I420A) {
-      auto convert_fn = (src_frame.format() == PIXEL_FORMAT_XBGR ||
-                         src_frame.format() == PIXEL_FORMAT_ABGR)
-                            ? libyuv::ABGRToI420
-                            : libyuv::ARGBToI420;
-      int error = convert_fn(
-          src_data, src_stride,
-          dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-          dst_frame.stride(VideoFrame::kYPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kUPlane),
-          dst_frame.stride(VideoFrame::kUPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kVPlane),
-          dst_frame.stride(VideoFrame::kVPlane),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height());
-      if (error)
-        return EncoderStatus::Codes::kFormatConversionError;
-
-      if (dst_frame.format() == PIXEL_FORMAT_I420A) {
-        // Convert alpha channel separately
-        libyuv::ARGBExtractAlpha(
-            src_data, src_stride,
-            dst_frame.GetWritableVisibleData(media::VideoFrame::kAPlane),
-            dst_frame.stride(media::VideoFrame::kAPlane),
-            dst_frame.visible_rect().width(),
-            dst_frame.visible_rect().height());
-      }
-
-      return OkStatus();
-    }
-
-    auto convert_fn = (src_frame.format() == PIXEL_FORMAT_XBGR ||
-                       src_frame.format() == PIXEL_FORMAT_ABGR)
-                          ? libyuv::ABGRToNV12
-                          : libyuv::ARGBToNV12;
-    int error = convert_fn(
-        src_data, src_stride,
-        dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-        dst_frame.stride(VideoFrame::kYPlane),
-        dst_frame.GetWritableVisibleData(VideoFrame::kUVPlane),
-        dst_frame.stride(VideoFrame::kUVPlane),
-        dst_frame.visible_rect().width(), dst_frame.visible_rect().height());
-    if (error)
-      return EncoderStatus::Codes::kFormatConversionError;
-
-    if (dst_frame.format() == PIXEL_FORMAT_NV12A) {
-      // Convert alpha channel separately.
-      libyuv::ARGBExtractAlpha(
-          src_data, src_stride,
-          dst_frame.GetWritableVisibleData(media::VideoFrame::kAPlaneTriPlanar),
-          dst_frame.stride(media::VideoFrame::kAPlaneTriPlanar),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height());
-    }
-
-    return OkStatus();
-  }
-
-  // Converting between YUV formats doesn't change the color space.
-  dst_frame.set_color_space(src_frame.ColorSpace());
-
-  // Both frames are I420 or I420A, only scaling is required.
-  if ((dst_frame.format() == PIXEL_FORMAT_I420 ||
-       dst_frame.format() == PIXEL_FORMAT_I420A) &&
-      (src_frame.format() == PIXEL_FORMAT_I420 ||
-       src_frame.format() == PIXEL_FORMAT_I420A)) {
-    if (dst_frame.format() == PIXEL_FORMAT_I420A) {
-      libyuv::ScalePlane(src_frame.visible_data(VideoFrame::kAPlane),
-                         src_frame.stride(VideoFrame::kAPlane),
-                         src_frame.visible_rect().width(),
-                         src_frame.visible_rect().height(),
-                         dst_frame.GetWritableVisibleData(VideoFrame::kAPlane),
-                         dst_frame.stride(VideoFrame::kAPlane),
-                         dst_frame.visible_rect().width(),
-                         dst_frame.visible_rect().height(), kDefaultFiltering);
-    }
-    int error = libyuv::I420Scale(
-        src_frame.visible_data(VideoFrame::kYPlane),
-        src_frame.stride(VideoFrame::kYPlane),
-        src_frame.visible_data(VideoFrame::kUPlane),
-        src_frame.stride(VideoFrame::kUPlane),
-        src_frame.visible_data(VideoFrame::kVPlane),
-        src_frame.stride(VideoFrame::kVPlane), src_frame.visible_rect().width(),
-        src_frame.visible_rect().height(),
-        dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-        dst_frame.stride(VideoFrame::kYPlane),
-        dst_frame.GetWritableVisibleData(VideoFrame::kUPlane),
-        dst_frame.stride(VideoFrame::kUPlane),
-        dst_frame.GetWritableVisibleData(VideoFrame::kVPlane),
-        dst_frame.stride(VideoFrame::kVPlane), dst_frame.visible_rect().width(),
-        dst_frame.visible_rect().height(), kDefaultFiltering);
-    if (error)
-      return EncoderStatus::Codes::kScalingError;
-    return OkStatus();
-  }
-
-  // Both frames are NV12 or NV12A, only scaling is required.
-  if ((dst_frame.format() == PIXEL_FORMAT_NV12 ||
-       dst_frame.format() == PIXEL_FORMAT_NV12A) &&
-      (src_frame.format() == PIXEL_FORMAT_NV12 ||
-       src_frame.format() == PIXEL_FORMAT_NV12A)) {
-    if (dst_frame.format() == PIXEL_FORMAT_NV12A) {
-      libyuv::ScalePlane(
-          src_frame.visible_data(VideoFrame::kAPlaneTriPlanar),
-          src_frame.stride(VideoFrame::kAPlaneTriPlanar),
-          src_frame.visible_rect().width(), src_frame.visible_rect().height(),
-          dst_frame.GetWritableVisibleData(VideoFrame::kAPlaneTriPlanar),
-          dst_frame.stride(VideoFrame::kAPlaneTriPlanar),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height(),
-          kDefaultFiltering);
-    }
-    int error = libyuv::NV12Scale(
-        src_frame.visible_data(VideoFrame::kYPlane),
-        src_frame.stride(VideoFrame::kYPlane),
-        src_frame.visible_data(VideoFrame::kUVPlane),
-        src_frame.stride(VideoFrame::kUVPlane),
-        src_frame.visible_rect().width(), src_frame.visible_rect().height(),
-        dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-        dst_frame.stride(VideoFrame::kYPlane),
-        dst_frame.GetWritableVisibleData(VideoFrame::kUVPlane),
-        dst_frame.stride(VideoFrame::kUVPlane),
-        dst_frame.visible_rect().width(), dst_frame.visible_rect().height(),
-        kDefaultFiltering);
-    if (error)
-      return EncoderStatus::Codes::kScalingError;
-    return OkStatus();
-  }
-
-  if (dst_frame.format() == PIXEL_FORMAT_I420 &&
-      src_frame.format() == PIXEL_FORMAT_NV12) {
-    if (src_frame.visible_rect().size() == dst_frame.visible_rect().size()) {
-      // Both frames have the same size, only NV12-to-I420 conversion is
-      // required.
-      int error = libyuv::NV12ToI420(
-          src_frame.visible_data(VideoFrame::kYPlane),
-          src_frame.stride(VideoFrame::kYPlane),
-          src_frame.visible_data(VideoFrame::kUVPlane),
-          src_frame.stride(VideoFrame::kUVPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-          dst_frame.stride(VideoFrame::kYPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kUPlane),
-          dst_frame.stride(VideoFrame::kUPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kVPlane),
-          dst_frame.stride(VideoFrame::kVPlane),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height());
-      if (error)
-        return EncoderStatus::Codes::kFormatConversionError;
-      return OkStatus();
-    } else {
-      // Both resize and NV12-to-I420 conversion are required.
-      // First, split UV planes into two, basically producing a I420 frame.
-      const int tmp_uv_width = (src_frame.visible_rect().width() + 1) / 2;
-      const int tmp_uv_height = (src_frame.visible_rect().height() + 1) / 2;
-      size_t tmp_buffer_size = tmp_uv_width * tmp_uv_height * 2;
-      if (tmp_buf.size() < tmp_buffer_size)
-        tmp_buf.resize(tmp_buffer_size);
-
-      uint8_t* tmp_u = tmp_buf.data();
-      uint8_t* tmp_v = tmp_u + tmp_uv_width * tmp_uv_height;
-      DCHECK_EQ(tmp_buf.data() + tmp_buffer_size,
-                tmp_v + (tmp_uv_width * tmp_uv_height));
-      libyuv::SplitUVPlane(src_frame.visible_data(VideoFrame::kUVPlane),
-                           src_frame.stride(VideoFrame::kUVPlane), tmp_u,
-                           tmp_uv_width, tmp_v, tmp_uv_width, tmp_uv_width,
-                           tmp_uv_height);
-
-      // Second, scale resulting I420 frame into the destination.
-      int error = libyuv::I420Scale(
-          src_frame.visible_data(VideoFrame::kYPlane),
-          src_frame.stride(VideoFrame::kYPlane),
-          tmp_u,  // Temporary U-plane for src UV-plane.
-          tmp_uv_width,
-          tmp_v,  // Temporary V-plane for src UV-plane.
-          tmp_uv_width, src_frame.visible_rect().width(),
-          src_frame.visible_rect().height(),
-          dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-          dst_frame.stride(VideoFrame::kYPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kUPlane),
-          dst_frame.stride(VideoFrame::kUPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kVPlane),
-          dst_frame.stride(VideoFrame::kVPlane),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height(),
-          kDefaultFiltering);
-      if (error)
-        return EncoderStatus::Codes::kScalingError;
-      return OkStatus();
-    }
-  }
-
-  if (dst_frame.format() == PIXEL_FORMAT_I420A &&
-      src_frame.format() == PIXEL_FORMAT_NV12A) {
-    if (src_frame.visible_rect().size() == dst_frame.visible_rect().size()) {
-      // Both frames have the same size, only NV12-to-I420 conversion is
-      // required.
-      int error = libyuv::NV12ToI420(
-          src_frame.visible_data(VideoFrame::kYPlane),
-          src_frame.stride(VideoFrame::kYPlane),
-          src_frame.visible_data(VideoFrame::kUVPlane),
-          src_frame.stride(VideoFrame::kUVPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-          dst_frame.stride(VideoFrame::kYPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kUPlane),
-          dst_frame.stride(VideoFrame::kUPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kVPlane),
-          dst_frame.stride(VideoFrame::kVPlane),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height());
-      if (error)
-        return EncoderStatus::Codes::kFormatConversionError;
-      // Convert alpha channel separately.
-      libyuv::ScalePlane(src_frame.visible_data(VideoFrame::kAPlaneTriPlanar),
-                         src_frame.stride(VideoFrame::kAPlaneTriPlanar),
-                         src_frame.visible_rect().width(),
-                         src_frame.visible_rect().height(),
-                         dst_frame.GetWritableVisibleData(VideoFrame::kAPlane),
-                         dst_frame.stride(VideoFrame::kAPlane),
-                         dst_frame.visible_rect().width(),
-                         dst_frame.visible_rect().height(), kDefaultFiltering);
-      return OkStatus();
-    } else {
-      // Both resize and NV12-to-I420 conversion are required.
-      // First, split UV planes into two, basically producing a I420 frame.
-      const int tmp_uv_width = (src_frame.visible_rect().width() + 1) / 2;
-      const int tmp_uv_height = (src_frame.visible_rect().height() + 1) / 2;
-      size_t tmp_buffer_size = tmp_uv_width * tmp_uv_height * 2;
-      if (tmp_buf.size() < tmp_buffer_size)
-        tmp_buf.resize(tmp_buffer_size);
-
-      uint8_t* tmp_u = tmp_buf.data();
-      uint8_t* tmp_v = tmp_u + tmp_uv_width * tmp_uv_height;
-      DCHECK_EQ(tmp_buf.data() + tmp_buffer_size,
-                tmp_v + (tmp_uv_width * tmp_uv_height));
-      libyuv::SplitUVPlane(src_frame.visible_data(VideoFrame::kUVPlane),
-                           src_frame.stride(VideoFrame::kUVPlane), tmp_u,
-                           tmp_uv_width, tmp_v, tmp_uv_width, tmp_uv_width,
-                           tmp_uv_height);
-
-      // Second, scale resulting I420 frame into the destination.
-      int error = libyuv::I420Scale(
-          src_frame.visible_data(VideoFrame::kYPlane),
-          src_frame.stride(VideoFrame::kYPlane),
-          tmp_u,  // Temporary U-plane for src UV-plane.
-          tmp_uv_width,
-          tmp_v,  // Temporary V-plane for src UV-plane.
-          tmp_uv_width, src_frame.visible_rect().width(),
-          src_frame.visible_rect().height(),
-          dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-          dst_frame.stride(VideoFrame::kYPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kUPlane),
-          dst_frame.stride(VideoFrame::kUPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kVPlane),
-          dst_frame.stride(VideoFrame::kVPlane),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height(),
-          kDefaultFiltering);
-      if (error)
-        return EncoderStatus::Codes::kScalingError;
-      // Convert alpha channel separately.
-      libyuv::ScalePlane(src_frame.visible_data(VideoFrame::kAPlaneTriPlanar),
-                         src_frame.stride(VideoFrame::kAPlaneTriPlanar),
-                         src_frame.visible_rect().width(),
-                         src_frame.visible_rect().height(),
-                         dst_frame.GetWritableVisibleData(VideoFrame::kAPlane),
-                         dst_frame.stride(VideoFrame::kAPlane),
-                         dst_frame.visible_rect().width(),
-                         dst_frame.visible_rect().height(), kDefaultFiltering);
-      return OkStatus();
-    }
-  }
-
-  if (dst_frame.format() == PIXEL_FORMAT_NV12 &&
-      src_frame.format() == PIXEL_FORMAT_I420) {
-    if (src_frame.visible_rect().size() == dst_frame.visible_rect().size()) {
-      // Both frames have the same size, only I420-to-NV12 conversion is
-      // required.
-      int error = libyuv::I420ToNV12(
-          src_frame.visible_data(VideoFrame::kYPlane),
-          src_frame.stride(VideoFrame::kYPlane),
-          src_frame.visible_data(VideoFrame::kUPlane),
-          src_frame.stride(VideoFrame::kUPlane),
-          src_frame.visible_data(VideoFrame::kVPlane),
-          src_frame.stride(VideoFrame::kVPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-          dst_frame.stride(VideoFrame::kYPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kUVPlane),
-          dst_frame.stride(VideoFrame::kUVPlane),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height());
-      if (error)
-        return EncoderStatus::Codes::kFormatConversionError;
-      return OkStatus();
-    } else {
-      // Both resize and I420-to-NV12 conversion are required.
-      // First, merge U and V planes into one, basically producing a NV12 frame.
-      const int tmp_uv_width = (src_frame.visible_rect().width() + 1) / 2;
-      const int tmp_uv_height = (src_frame.visible_rect().height() + 1) / 2;
-      size_t tmp_buffer_size = tmp_uv_width * tmp_uv_height * 2;
-      if (tmp_buf.size() < tmp_buffer_size)
-        tmp_buf.resize(tmp_buffer_size);
-
-      uint8_t* tmp_uv = tmp_buf.data();
-      size_t stride_uv = tmp_uv_width * 2;
-      libyuv::MergeUVPlane(src_frame.visible_data(VideoFrame::kUPlane),
-                           src_frame.stride(VideoFrame::kUPlane),
-                           src_frame.visible_data(VideoFrame::kVPlane),
-                           src_frame.stride(VideoFrame::kVPlane),
-                           tmp_uv,     // Temporary for merged UV-plane
-                           stride_uv,  // Temporary stride
-                           tmp_uv_width, tmp_uv_height);
-
-      // Second, scale resulting NV12 frame into the destination.
-      int error = libyuv::NV12Scale(
-          src_frame.visible_data(VideoFrame::kYPlane),
-          src_frame.stride(VideoFrame::kYPlane),
-          tmp_uv,     // Temporary for merged UV-plane
-          stride_uv,  // Temporary stride
-          src_frame.visible_rect().width(), src_frame.visible_rect().height(),
-          dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-          dst_frame.stride(VideoFrame::kYPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kUVPlane),
-          dst_frame.stride(VideoFrame::kUVPlane),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height(),
-          kDefaultFiltering);
-      if (error)
-        return EncoderStatus::Codes::kScalingError;
-      return OkStatus();
-    }
-  }
-
-  if (dst_frame.format() == PIXEL_FORMAT_NV12A &&
-      src_frame.format() == PIXEL_FORMAT_I420A) {
-    if (src_frame.visible_rect().size() == dst_frame.visible_rect().size()) {
-      // Both frames have the same size, only I420-to-NV12 conversion is
-      // required.
-      int error = libyuv::I420ToNV12(
-          src_frame.visible_data(VideoFrame::kYPlane),
-          src_frame.stride(VideoFrame::kYPlane),
-          src_frame.visible_data(VideoFrame::kUPlane),
-          src_frame.stride(VideoFrame::kUPlane),
-          src_frame.visible_data(VideoFrame::kVPlane),
-          src_frame.stride(VideoFrame::kVPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-          dst_frame.stride(VideoFrame::kYPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kUVPlane),
-          dst_frame.stride(VideoFrame::kUVPlane),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height());
-      if (error)
-        return EncoderStatus::Codes::kFormatConversionError;
-      // Convert alpha channel separately.
-      libyuv::ScalePlane(
-          src_frame.visible_data(VideoFrame::kAPlane),
-          src_frame.stride(VideoFrame::kAPlane),
-          src_frame.visible_rect().width(), src_frame.visible_rect().height(),
-          dst_frame.GetWritableVisibleData(VideoFrame::kAPlaneTriPlanar),
-          dst_frame.stride(VideoFrame::kAPlaneTriPlanar),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height(),
-          kDefaultFiltering);
-      return OkStatus();
-    } else {
-      // Both resize and I420-to-NV12 conversion are required.
-      // First, merge U and V planes into one, basically producing a NV12 frame.
-      const int tmp_uv_width = (src_frame.visible_rect().width() + 1) / 2;
-      const int tmp_uv_height = (src_frame.visible_rect().height() + 1) / 2;
-      size_t tmp_buffer_size = tmp_uv_width * tmp_uv_height * 2;
-      if (tmp_buf.size() < tmp_buffer_size)
-        tmp_buf.resize(tmp_buffer_size);
-
-      uint8_t* tmp_uv = tmp_buf.data();
-      size_t stride_uv = tmp_uv_width * 2;
-      libyuv::MergeUVPlane(src_frame.visible_data(VideoFrame::kUPlane),
-                           src_frame.stride(VideoFrame::kUPlane),
-                           src_frame.visible_data(VideoFrame::kVPlane),
-                           src_frame.stride(VideoFrame::kVPlane),
-                           tmp_uv,     // Temporary for merged UV-plane
-                           stride_uv,  // Temporary stride
-                           tmp_uv_width, tmp_uv_height);
-
-      // Second, scale resulting NV12 frame into the destination.
-      int error = libyuv::NV12Scale(
-          src_frame.visible_data(VideoFrame::kYPlane),
-          src_frame.stride(VideoFrame::kYPlane),
-          tmp_uv,     // Temporary for merged UV-plane
-          stride_uv,  // Temporary stride
-          src_frame.visible_rect().width(), src_frame.visible_rect().height(),
-          dst_frame.GetWritableVisibleData(VideoFrame::kYPlane),
-          dst_frame.stride(VideoFrame::kYPlane),
-          dst_frame.GetWritableVisibleData(VideoFrame::kUVPlane),
-          dst_frame.stride(VideoFrame::kUVPlane),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height(),
-          kDefaultFiltering);
-      if (error)
-        return EncoderStatus::Codes::kScalingError;
-      // Convert alpha channel separately.
-      libyuv::ScalePlane(
-          src_frame.visible_data(VideoFrame::kAPlane),
-          src_frame.stride(VideoFrame::kAPlane),
-          src_frame.visible_rect().width(), src_frame.visible_rect().height(),
-          dst_frame.GetWritableVisibleData(VideoFrame::kAPlaneTriPlanar),
-          dst_frame.stride(VideoFrame::kAPlaneTriPlanar),
-          dst_frame.visible_rect().width(), dst_frame.visible_rect().height(),
-          kDefaultFiltering);
-      return OkStatus();
-    }
-  }
-
-  return EncoderStatus(EncoderStatus::Codes::kUnsupportedFrameFormat)
-      .WithData("src", src_frame.AsHumanReadableString())
-      .WithData("dst", dst_frame.AsHumanReadableString());
-}
-
 // Media pixel format enums have names opposite to their byte order.
 // That's why PIXEL_FORMAT_ABGR corresponds to kRGBA_8888_SkColorType
 // and so on.
diff --git a/media/base/video_util.h b/media/base/video_util.h
index 6ce7d1b..2ca4c94d 100644
--- a/media/base/video_util.h
+++ b/media/base/video_util.h
@@ -199,14 +199,6 @@
 [[nodiscard]] MEDIA_EXPORT bool I420CopyWithPadding(const VideoFrame& src_frame,
                                                     VideoFrame* dst_frame);
 
-// Copy pixel data from |src_frame| to |dst_frame| applying scaling and pixel
-// format conversion as needed. Both frames need to be mappabale and have either
-// I420 or NV12 pixel format.
-[[nodiscard]] MEDIA_EXPORT EncoderStatus
-ConvertAndScaleFrame(const VideoFrame& src_frame,
-                     VideoFrame& dst_frame,
-                     std::vector<uint8_t>& tmp_buf);
-
 // Converts kRGBA_8888_SkColorType and kBGRA_8888_SkColorType to the appropriate
 // ARGB, XRGB, ABGR, or XBGR format.
 MEDIA_EXPORT VideoPixelFormat
diff --git a/media/gpu/android/media_codec_video_decoder.cc b/media/gpu/android/media_codec_video_decoder.cc
index 590cc95..d6b9e0e 100644
--- a/media/gpu/android/media_codec_video_decoder.cc
+++ b/media/gpu/android/media_codec_video_decoder.cc
@@ -1107,6 +1107,13 @@
     frame->set_hdr_metadata(decoder_config_.hdr_metadata());
   }
 
+  if (media_crypto_context_) {
+    frame->metadata().protected_video = true;
+    if (requires_secure_codec_) {
+      frame->metadata().hw_protected = true;
+    }
+  }
+
   if (reset_generation == reset_generation_) {
     // TODO(liberato): We might actually have a SW decoder.  Consider setting
     // this to false if so, especially for higher bitrates.
diff --git a/media/gpu/android/ndk_video_encode_accelerator_tests.cc b/media/gpu/android/ndk_video_encode_accelerator_tests.cc
index 263da86..f02a63f 100644
--- a/media/gpu/android/ndk_video_encode_accelerator_tests.cc
+++ b/media/gpu/android/ndk_video_encode_accelerator_tests.cc
@@ -19,6 +19,7 @@
 #include "media/base/test_helpers.h"
 #include "media/base/video_codecs.h"
 #include "media/base/video_frame.h"
+#include "media/base/video_frame_converter.h"
 #include "media/base/video_util.h"
 #include "media/gpu/android/ndk_video_encode_accelerator.h"
 #include "media/video/fake_gpu_memory_buffer.h"
@@ -148,7 +149,7 @@
     auto i420_frame = CreateI420Frame(size, color, timestamp);
     auto nv12_frame = VideoFrame::CreateFrame(PIXEL_FORMAT_NV12, size,
                                               gfx::Rect(size), size, timestamp);
-    auto status = ConvertAndScaleFrame(*i420_frame, *nv12_frame, resize_buff_);
+    auto status = frame_converter_.ConvertAndScale(*i420_frame, *nv12_frame);
     EXPECT_TRUE(status.is_ok());
     return nv12_frame;
   }
@@ -233,7 +234,7 @@
   absl::optional<EncoderStatus> error_status_;
   size_t input_buffer_size_ = 0;
   int32_t last_buffer_id_ = 0;
-  std::vector<uint8_t> resize_buff_;
+  VideoFrameConverter frame_converter_;
 };
 
 TEST_P(NdkVideoEncoderAcceleratorTest, InitializeAndDestroy) {
diff --git a/media/gpu/windows/media_foundation_video_encode_accelerator_win.cc b/media/gpu/windows/media_foundation_video_encode_accelerator_win.cc
index f3ffa97..7a59bdc8 100644
--- a/media/gpu/windows/media_foundation_video_encode_accelerator_win.cc
+++ b/media/gpu/windows/media_foundation_video_encode_accelerator_win.cc
@@ -1867,15 +1867,15 @@
             end - scoped_buffer.get());
 
   // Set up a VideoFrame with the data pointing into the input buffer.
-  // We need it to ease copying and scaling by reusing ConvertAndScaleFrame()
+  // We need it to ease copying and scaling by reusing ConvertAndScale()
   auto frame_in_buffer = VideoFrame::WrapExternalYuvData(
       kTargetPixelFormat, input_visible_size_, gfx::Rect(input_visible_size_),
       input_visible_size_, dst_y_stride, dst_uv_stride, dst_y, dst_uv,
       frame->timestamp());
 
-  auto status = ConvertAndScaleFrame(*frame, *frame_in_buffer, resize_buffer_);
+  auto status = frame_converter_.ConvertAndScale(*frame, *frame_in_buffer);
   if (!status.is_ok()) {
-    LOG(ERROR) << "ConvertAndScaleFrame failed with error code: "
+    LOG(ERROR) << "ConvertAndScale failed with error code: "
                << static_cast<uint32_t>(status.code());
     return E_FAIL;
   }
diff --git a/media/gpu/windows/media_foundation_video_encode_accelerator_win.h b/media/gpu/windows/media_foundation_video_encode_accelerator_win.h
index d2bfd54c..fd66d90 100644
--- a/media/gpu/windows/media_foundation_video_encode_accelerator_win.h
+++ b/media/gpu/windows/media_foundation_video_encode_accelerator_win.h
@@ -27,6 +27,7 @@
 #include "media/base/bitrate.h"
 #include "media/base/video_codecs.h"
 #include "media/base/video_encoder.h"
+#include "media/base/video_frame_converter.h"
 #include "media/base/win/dxgi_device_manager.h"
 #include "media/gpu/media_gpu_export.h"
 #include "media/gpu/windows/d3d11_com_defs.h"
@@ -310,8 +311,8 @@
   // Preferred adapter for DXGIDeviceManager.
   const CHROME_LUID luid_;
 
-  // A buffer used as a scratch space for I420 to NV12 conversion
-  std::vector<uint8_t> resize_buffer_;
+  // Used for frame format conversion.
+  VideoFrameConverter frame_converter_;
 
   FlushCallback flush_callback_;
 
diff --git a/media/video/alpha_video_encoder_wrapper_unittest.cc b/media/video/alpha_video_encoder_wrapper_unittest.cc
index bbdeb7d..a8bd94a 100644
--- a/media/video/alpha_video_encoder_wrapper_unittest.cc
+++ b/media/video/alpha_video_encoder_wrapper_unittest.cc
@@ -150,7 +150,6 @@
  protected:
   VideoCodec codec_;
   VideoCodecProfile profile_;
-  std::vector<uint8_t> resize_buff_;
 
   MockMediaLog media_log_;
   base::test::TaskEnvironment task_environment_;
diff --git a/media/video/av1_video_encoder.cc b/media/video/av1_video_encoder.cc
index 0125d64db..a365188 100644
--- a/media/video/av1_video_encoder.cc
+++ b/media/video/av1_video_encoder.cc
@@ -370,7 +370,7 @@
 
     if (resized_frame) {
       auto conv_status =
-          ConvertAndScaleFrame(*frame, *resized_frame, resize_buf_);
+          frame_converter_.ConvertAndScale(*frame, *resized_frame);
       if (!conv_status.is_ok()) {
         std::move(done_cb).Run(
             EncoderStatus(EncoderStatus::Codes::kEncoderFailedEncode)
diff --git a/media/video/av1_video_encoder.h b/media/video/av1_video_encoder.h
index 0d6f3970..6ac7bfa 100644
--- a/media/video/av1_video_encoder.h
+++ b/media/video/av1_video_encoder.h
@@ -11,6 +11,7 @@
 #include "base/time/time.h"
 #include "media/base/media_export.h"
 #include "media/base/video_encoder.h"
+#include "media/base/video_frame_converter.h"
 #include "media/base/video_frame_pool.h"
 #include "third_party/libaom/source/libaom/aom/aom_encoder.h"
 #include "third_party/libaom/source/libaom/aom/aomcx.h"
@@ -66,7 +67,7 @@
 
   VideoCodecProfile profile_ = VIDEO_CODEC_PROFILE_UNKNOWN;
   VideoFramePool frame_pool_;
-  std::vector<uint8_t> resize_buf_;
+  VideoFrameConverter frame_converter_;
   Options options_;
   OutputCB output_cb_;
 };
diff --git a/media/video/openh264_video_encoder.cc b/media/video/openh264_video_encoder.cc
index b7f0e3e..438b5b9 100644
--- a/media/video/openh264_video_encoder.cc
+++ b/media/video/openh264_video_encoder.cc
@@ -383,7 +383,7 @@
                         "Can't allocate an I420 frame."));
       return;
     }
-    auto status = ConvertAndScaleFrame(*frame, *i420_frame, conversion_buffer_);
+    auto status = frame_converter_.ConvertAndScale(*frame, *i420_frame);
     if (!status.is_ok()) {
       std::move(done_cb).Run(
           EncoderStatus(EncoderStatus::Codes::kEncoderFailedEncode)
diff --git a/media/video/openh264_video_encoder.h b/media/video/openh264_video_encoder.h
index ce08c99f..08a145c8 100644
--- a/media/video/openh264_video_encoder.h
+++ b/media/video/openh264_video_encoder.h
@@ -10,6 +10,7 @@
 
 #include "media/base/media_export.h"
 #include "media/base/video_encoder.h"
+#include "media/base/video_frame_converter.h"
 #include "media/base/video_frame_pool.h"
 #include "media/formats/mp4/h264_annex_b_to_avc_bitstream_converter.h"
 #include "third_party/openh264/src/codec/api/wels/codec_api.h"
@@ -61,12 +62,13 @@
   VideoCodecProfile profile_ = VIDEO_CODEC_PROFILE_UNKNOWN;
   Options options_;
   OutputCB output_cb_;
-  std::vector<uint8_t> conversion_buffer_;
   VideoFramePool frame_pool_;
+  VideoFrameConverter frame_converter_;
   gfx::ColorSpace last_frame_color_space_;
 
-  // If |h264_converter_| is null, we output in annexb format. Otherwise, we
-  // output in avc format.
+  // If `h264_converter_` is null, we output in annexb format. Otherwise, we
+  // output in avc format and `conversion_buffer_` is used for temporary space.
+  std::vector<uint8_t> conversion_buffer_;
   std::unique_ptr<H264AnnexBToAvcBitstreamConverter> h264_converter_;
 };
 
diff --git a/media/video/software_video_encoder_test.cc b/media/video/software_video_encoder_test.cc
index 1d70ad48..c9c6ff0 100644
--- a/media/video/software_video_encoder_test.cc
+++ b/media/video/software_video_encoder_test.cc
@@ -150,7 +150,7 @@
     auto i420_frame = CreateI420Frame(size, color, timestamp);
     auto nv12_frame = VideoFrame::CreateFrame(PIXEL_FORMAT_NV12, size,
                                               gfx::Rect(size), size, timestamp);
-    auto status = ConvertAndScaleFrame(*i420_frame, *nv12_frame, resize_buff_);
+    auto status = frame_converter_.ConvertAndScale(*i420_frame, *nv12_frame);
     EXPECT_TRUE(status.is_ok());
     return nv12_frame;
   }
@@ -335,7 +335,7 @@
   VideoCodec codec_;
   VideoCodecProfile profile_;
   VideoPixelFormat pixel_format_;
-  std::vector<uint8_t> resize_buff_;
+  VideoFrameConverter frame_converter_;
 
   NullMediaLog media_log_;
   base::test::TaskEnvironment task_environment_;
@@ -870,7 +870,6 @@
   DecodeAndWaitForStatus(DecoderBuffer::CreateEOSBuffer());
 
   EXPECT_EQ(decoded_frames.size(), frames_to_encode.size());
-  std::vector<uint8_t> conversion_buffer;
   for (auto i = 0u; i < decoded_frames.size(); i++) {
     auto original_frame = frames_to_encode[i];
     auto decoded_frame = decoded_frames[i];
@@ -885,9 +884,8 @@
       auto i420_frame =
           VideoFrame::CreateFrame(PIXEL_FORMAT_I420, size, gfx::Rect(size),
                                   size, decoded_frame->timestamp());
-      EXPECT_TRUE(
-          ConvertAndScaleFrame(*original_frame, *i420_frame, conversion_buffer)
-              .is_ok());
+      EXPECT_TRUE(frame_converter_.ConvertAndScale(*original_frame, *i420_frame)
+                      .is_ok());
       original_frame = i420_frame;
     }
     EXPECT_LE(CountDifferentPixels(*decoded_frame, *original_frame),
diff --git a/media/video/video_encode_accelerator_adapter.cc b/media/video/video_encode_accelerator_adapter.cc
index 27d16ed..5379b30 100644
--- a/media/video/video_encode_accelerator_adapter.cc
+++ b/media/video/video_encode_accelerator_adapter.cc
@@ -1081,10 +1081,11 @@
     return EncoderStatus(EncoderStatus::Codes::kEncoderFailedEncode);
 
   auto status =
-      ConvertAndScaleFrame(*mapped_src_frame, *shared_frame, resize_buf_);
-  if (!status.is_ok())
+      frame_converter_.ConvertAndScale(*mapped_src_frame, *shared_frame);
+  if (!status.is_ok()) {
     return EncoderStatus(EncoderStatus::Codes::kEncoderFailedEncode)
         .AddCause(std::move(status));
+  }
 
   shared_frame->BackWithSharedMemory(handle->region());
   shared_frame->AddDestructionObserver(
@@ -1126,7 +1127,7 @@
 
   // Don't be scared. ConvertToMemoryMappedFrame() doesn't copy pixel data
   // it just maps GPU buffer owned by |gpu_frame| and presents it as mapped
-  // view in CPU memory. It allows us to use ConvertAndScaleFrame() without
+  // view in CPU memory. It allows us to use ConvertAndScale() without
   // having to tinker with libyuv and GpuMemoryBuffer memory views.
   // |mapped_gpu_frame| doesn't own anything, but unmaps the buffer when freed.
   // This is true because |gpu_frame| is created with
@@ -1139,13 +1140,14 @@
     return EncoderStatus(EncoderStatus::Codes::kEncoderFailedEncode);
 
   auto status =
-      ConvertAndScaleFrame(*mapped_src_frame, *mapped_gpu_frame, resize_buf_);
-  if (!status.is_ok())
+      frame_converter_.ConvertAndScale(*mapped_src_frame, *mapped_gpu_frame);
+  if (!status.is_ok()) {
     return EncoderStatus(EncoderStatus::Codes::kEncoderFailedEncode)
         .AddCause(std::move(status));
+  }
 
   // |mapped_gpu_frame| has the color space respecting the color conversion in
-  // ConvertAndScaleFrame().
+  // ConvertAndScale().
 #if BUILDFLAG(IS_MAC)
   gpu_frame->GetGpuMemoryBuffer()->SetColorSpace(
       mapped_gpu_frame->ColorSpace());
diff --git a/media/video/video_encode_accelerator_adapter.h b/media/video/video_encode_accelerator_adapter.h
index ee288ac..a760800 100644
--- a/media/video/video_encode_accelerator_adapter.h
+++ b/media/video/video_encode_accelerator_adapter.h
@@ -18,6 +18,7 @@
 #include "base/time/time.h"
 #include "media/base/media_export.h"
 #include "media/base/video_encoder.h"
+#include "media/base/video_frame_converter.h"
 #include "media/media_buildflags.h"
 #include "media/video/video_encode_accelerator.h"
 #include "third_party/abseil-cpp/absl/types/optional.h"
@@ -182,7 +183,7 @@
 
   VideoPixelFormat format_;
   InputBufferKind input_buffer_preference_ = InputBufferKind::Any;
-  std::vector<uint8_t> resize_buf_;
+  VideoFrameConverter frame_converter_;
 
   VideoCodecProfile profile_ = VIDEO_CODEC_PROFILE_UNKNOWN;
   VideoEncodeAccelerator::SupportedRateControlMode supported_rc_modes_ =
diff --git a/media/video/vpx_video_encoder.cc b/media/video/vpx_video_encoder.cc
index 984c3750..533584c 100644
--- a/media/video/vpx_video_encoder.cc
+++ b/media/video/vpx_video_encoder.cc
@@ -475,7 +475,7 @@
     }
 
     auto convert_status =
-        ConvertAndScaleFrame(*frame, *resized_frame, resize_buf_);
+        frame_converter_.ConvertAndScale(*frame, *resized_frame);
     if (!convert_status.is_ok()) {
       std::move(done_cb).Run(
           EncoderStatus(EncoderStatus::Codes::kEncoderFailedEncode)
diff --git a/media/video/vpx_video_encoder.h b/media/video/vpx_video_encoder.h
index 78f130eb..5f7c919 100644
--- a/media/video/vpx_video_encoder.h
+++ b/media/video/vpx_video_encoder.h
@@ -11,6 +11,7 @@
 #include "base/time/time.h"
 #include "media/base/media_export.h"
 #include "media/base/video_encoder.h"
+#include "media/base/video_frame_converter.h"
 #include "media/base/video_frame_pool.h"
 #include "third_party/libvpx/source/libvpx/vpx/vpx_encoder.h"
 #include "ui/gfx/color_space.h"
@@ -57,7 +58,7 @@
   unsigned int temporal_svc_frame_index_ = 0;
   VideoCodecProfile profile_ = VIDEO_CODEC_PROFILE_UNKNOWN;
   VideoFramePool frame_pool_;
-  std::vector<uint8_t> resize_buf_;
+  VideoFrameConverter frame_converter_;
   Options options_;
   OutputCB output_cb_;
 };
diff --git a/net/cert/cert_verify_proc.h b/net/cert/cert_verify_proc.h
index 0062ed6..7beed62 100644
--- a/net/cert/cert_verify_proc.h
+++ b/net/cert/cert_verify_proc.h
@@ -128,6 +128,11 @@
 
     //  Additional SPKIs to consider as distrusted during path validation.
     std::vector<std::vector<uint8_t>> additional_distrusted_spkis;
+
+    // If true, use the user-added certs in the system trust store for path
+    // validation.
+    // This only has an impact if the Chrome Root Store is being used.
+    bool include_system_trust_store = true;
   };
 
   // These values are persisted to logs. Entries should not be renumbered and
diff --git a/net/cert/internal/system_trust_store.cc b/net/cert/internal/system_trust_store.cc
index a87a57c1..b959519 100644
--- a/net/cert/internal/system_trust_store.cc
+++ b/net/cert/internal/system_trust_store.cc
@@ -53,6 +53,37 @@
 namespace net {
 
 #if BUILDFLAG(CHROME_ROOT_STORE_SUPPORTED)
+class SystemTrustStoreChromeOnly : public SystemTrustStore {
+ public:
+  // Creates a SystemTrustStore that gets publicly trusted roots from
+  // |trust_store_chrome|.
+  explicit SystemTrustStoreChromeOnly(
+      std::unique_ptr<TrustStoreChrome> trust_store_chrome)
+      : trust_store_chrome_(std::move(trust_store_chrome)) {}
+
+  bssl::TrustStore* GetTrustStore() override {
+    return trust_store_chrome_.get();
+  }
+
+  // IsKnownRoot returns true if the given trust anchor is a standard one (as
+  // opposed to a user-installed root)
+  bool IsKnownRoot(const bssl::ParsedCertificate* trust_anchor) const override {
+    return trust_store_chrome_->Contains(trust_anchor);
+  }
+
+  int64_t chrome_root_store_version() const override {
+    return trust_store_chrome_->version();
+  }
+
+ private:
+  std::unique_ptr<TrustStoreChrome> trust_store_chrome_;
+};
+
+std::unique_ptr<SystemTrustStore> CreateChromeOnlySystemTrustStore(
+    std::unique_ptr<TrustStoreChrome> chrome_root) {
+  return std::make_unique<SystemTrustStoreChromeOnly>(std::move(chrome_root));
+}
+
 class SystemTrustStoreChromeWithUnOwnedSystemStore : public SystemTrustStore {
  public:
   // Creates a SystemTrustStore that gets publicly trusted roots from
diff --git a/net/cert/internal/system_trust_store.h b/net/cert/internal/system_trust_store.h
index e2c46fea..73271d8 100644
--- a/net/cert/internal/system_trust_store.h
+++ b/net/cert/internal/system_trust_store.h
@@ -61,6 +61,12 @@
 CreateSslSystemTrustStoreChromeRoot(
     std::unique_ptr<TrustStoreChrome> chrome_root);
 
+// Creates an instance of SystemTrustStore that only uses the Chrome Root Store
+// trust anchors.
+// This cannot return nullptr.
+NET_EXPORT std::unique_ptr<SystemTrustStore> CreateChromeOnlySystemTrustStore(
+    std::unique_ptr<TrustStoreChrome> chrome_root);
+
 NET_EXPORT_PRIVATE std::unique_ptr<SystemTrustStore>
 CreateSystemTrustStoreChromeForTesting(
     std::unique_ptr<TrustStoreChrome> trust_store_chrome,
diff --git a/net/http/transport_security_state_static.json b/net/http/transport_security_state_static.json
index e7c6f3e..e48d4c9d8 100644
--- a/net/http/transport_security_state_static.json
+++ b/net/http/transport_security_state_static.json
@@ -1458,7 +1458,6 @@
     { "name": "nameid.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nginxnudes.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nouvelle-vague-saint-cast.fr", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "opendesk.cc", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "pestici.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "savetheinternet.eu", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "shortdiary.me", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -1502,7 +1501,6 @@
     { "name": "securesuisse.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "slack.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "smartlend.se", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "webtrh.cz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "yetii.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "302.nyc", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "biathloncup.ru", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -2079,7 +2077,6 @@
     { "name": "robertof.ovh", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "robinsonyu.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "scrap.tf", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "sistemy48.ru", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "slack-files.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "slse.ca", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "starapple.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -2300,7 +2297,6 @@
     { "name": "auszeit.bio", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "av.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "azirevpn.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "bardiharborow.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "beach-inspector.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "biddl.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "bigdinosaur.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -2331,7 +2327,6 @@
     { "name": "erisrenee.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "expoundite.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "f2f.cash", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "falconvintners.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "fangs.ink", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "feen.us", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ffbans.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -2698,7 +2693,6 @@
     { "name": "xn--u9jv84l7ea468b.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "zcarrot.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "zcarot.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "zorntt.fr", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ztan.tk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "asm-x.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ccblog.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -2838,12 +2832,10 @@
     { "name": "wikivoyage.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "wiktionary.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "worcesterfestival.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "x.st", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "x64architecture.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--datenrettung-mnchen-jbc.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--hfk-allgu-schwaben-stb.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--mgbbh2a9fub.xn--ngbc5azd", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "yippie.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "zeno-system.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "track.plus", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "blog.gov.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -2976,7 +2968,6 @@
     { "name": "mitchellrenouf.ca", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "munzee.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "musikkfondene.no", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "mydeos.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "myraytech.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nethackwiki.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nette.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -3077,7 +3068,6 @@
     { "name": "docucopies.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "elmermx.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "extreemhost.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "fabianasantiago.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "graingert.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "greenvines.com.tw", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hollowrap.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -3200,7 +3190,6 @@
     { "name": "stugb.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "swapadoodle.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "syncer.jp", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "theintercept.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "thinklikeanentrepreneur.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ulabox.cat", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ulabox.es", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -3464,7 +3453,6 @@
     { "name": "altestore.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ankaraprofesyonelnakliyat.com.tr", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ankaraprofesyonelwebtasarim.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "ankarauzmanlarnakliyat.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "anzeiger.ag", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "apnakliyat.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "aryasenna.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -3638,7 +3626,6 @@
     { "name": "dolphincorp.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "domodedovo.travel", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "dziekonski.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "easykonto.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "eeqj.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "elitefishtank.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "englerts.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -3999,7 +3986,6 @@
     { "name": "sslpoint.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "stalkerhispano.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "star-citizen.wiki", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "statuscode.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "storycollective.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "stricted.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "strugee.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -4026,7 +4012,6 @@
     { "name": "ttz.im", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "tvtubeflix.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "twopif.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "tyche.io", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "unblocked-networks.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "uni-games.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "unila.edu.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -4268,7 +4253,6 @@
     { "name": "bougeret.fr", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "bowling.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "brasalcosmetics.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "bugcrowd.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cadoth.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "caffeinatedcode.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cais.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -4617,7 +4601,6 @@
     { "name": "dutchrank.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "elpo.xyz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "embracethedarkness.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "emirabiz.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "europop.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "evrial.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "fallenangeldrinks.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -5019,7 +5002,6 @@
     { "name": "cacaolalina.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "calgoty.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "calibso.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "camconn.cc", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "canarymod.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "candratech.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "capper.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -5199,7 +5181,6 @@
     { "name": "garagegoossens.be", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "generic.cx", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "genossen.ru", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "genuu.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "geraintwhite.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "gereon.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "gesiwista.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -5700,7 +5681,6 @@
     { "name": "tinastahlschmidt.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "tlach.cz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "toccoig.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "todo.is", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "tomaspialek.cz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "tomrei.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "tonage.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -6103,10 +6083,8 @@
     { "name": "marikafranke.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "martelange.ovh", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "martiert.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "martineve.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "massdrop.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "mattandreko.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "matthewohare.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "mavisang.cf", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "mawe.red", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "mce55.eu", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -6153,7 +6131,6 @@
     { "name": "okok-rent.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "okok.rent", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ols.io", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "onepluscamps.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "oneway.ga", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "onlinepollsph.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "opensrd.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -6350,7 +6327,6 @@
     { "name": "z33.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "zelfstandigemakelaars.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "zerocool.io", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "zhaofeng.li", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "zima.io", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "zoomingin.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "zulu7.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -6662,7 +6638,6 @@
     { "name": "all4os.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ama.ne.jp", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "amateri.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "amerigroup.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "animesfusion.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "applez.xyz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ausschreibungen-suedtirol.it", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -6684,13 +6659,11 @@
     { "name": "billin.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "biofam.ru", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "bip.gov.sa", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "birkman.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "bismarck.moe", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "bitshaker.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "bittersweetcandybowl.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "blinkenlight.com.au", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "bluechilli.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "boilesen.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "bookmein.in", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "boomerang.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "brd.ro", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -6805,7 +6778,6 @@
     { "name": "gunwatch.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "halo.fr", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "harmoney.co.nz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "harrisonsdirect.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hdfgroup.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hellenicaward.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "helpmebuild.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -7302,7 +7274,6 @@
     { "name": "carlgo11.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cdnjs.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cfcproperties.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "chabaudparfum.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "chatup.cf", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cipherboy.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "citizensbankal.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -7551,7 +7522,6 @@
     { "name": "smarthdd.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "smartrak.co.nz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "sme-gmbh.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "sneakpod.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "sniderman.eu.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "spicydog.tk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "sqlapius.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -7679,7 +7649,6 @@
     { "name": "desserteagleselvenar.tk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "dethemium.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "digitaldeliarchive.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "depijl-mz.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "dinepont.fr", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "dollemore.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "drew.red", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -8015,7 +7984,6 @@
     { "name": "pmalaty.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "powermeter.at", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "princesparktouch.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "privacyweek.at", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "profection.biz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "progress-linux.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "qivonline.pt", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -8373,7 +8341,6 @@
     { "name": "niagarafalls.ca", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nightsnack.cf", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nitrix.me", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "notjustvacs.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ntotten.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nubu.at", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ocg-card.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -8930,7 +8897,6 @@
     { "name": "nemo.run", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "musician.dating", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "muslim.singles", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "marktissink.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "notabug.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "patrickaudley.ca", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "octofox.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -9101,7 +9067,6 @@
     { "name": "tokyo.dating", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "udo-luetkemeier.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ufindme.at", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "vinner.com.au", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "wawak.pl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "wowjs.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "visalogy.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -9154,7 +9119,6 @@
     { "name": "alinode.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ameego.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ameego.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "allthings.me", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "aegrel.ee", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "3dmedium.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "aimeeandalec.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -9312,7 +9276,6 @@
     { "name": "invasion.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "icodeconnect.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hyperreal.info", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "innoloop.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "innermostparts.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "jamesbillingham.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hycken.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -9522,7 +9485,6 @@
     { "name": "yourciso.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "xtarget.ru", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "z99944x.xyz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "veg-leiden.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--ruanmller-u9a.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "yhrd.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "zeel.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -9773,7 +9735,6 @@
     { "name": "gracetini.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hackerone.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "google.ax", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "gj-bochum.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hallucinogen.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "geekwithabudget.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ginnegappen.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -10007,7 +9968,6 @@
     { "name": "psychedelia.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "psychoactive.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "rally-base.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "novurania.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "rasagiline.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "questsocial.it", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "quarterfull.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -10034,7 +9994,6 @@
     { "name": "sadbox.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "sadbox.es", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "rickrongen.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "rhees.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "rem0te.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "openkim.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "righettod.eu", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -11077,7 +11036,6 @@
     { "name": "kastelruth.biz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "katedra.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "kc-holzfaeller.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "kenvix.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "kowarschick.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "kucnibudzet.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "l0re.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -11487,7 +11445,6 @@
     { "name": "countrybrewer.com.au", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "courseworkbank.info", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cpbanq.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "cpqcol.gov.co", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "craftandbuild.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "craftination.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "crandall.io", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -11622,7 +11579,6 @@
     { "name": "femtomind.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "fence-stlouis.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ferticare.pt", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "fertila.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "fickweiler.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "firebugmusic.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "first-house.no", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -12659,7 +12615,6 @@
     { "name": "essaylib.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "emeliefalk.se", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "erwinschmaeh.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "efeen.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "enet-navigator.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "essayhave.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "estafallando.mx", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -12710,7 +12665,6 @@
     { "name": "gabriel.to", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "frino.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "fukakukeiba.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "fid-elite.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "freedomflotilla.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "fokan.be", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "fwest98.ovh", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -12972,7 +12926,6 @@
     { "name": "neostralis.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nickcraver.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nebulae.co", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "newgrowbook.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "michaeln.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nhimf.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "nicul.in", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -12998,7 +12951,6 @@
     { "name": "netbows.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "openstem.com.au", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "one-s.co.jp", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "ovnrain.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "palabr.as", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "papersmart.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "paperwritinghelp.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -13116,7 +13068,6 @@
     { "name": "rotol.me", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "sadmansh.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "rockenfuerlachenhelfen.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "robertrijnders.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ruurdboomsma.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "richardson.software", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "s4tips.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -13251,7 +13202,6 @@
     { "name": "tokyomakino.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "troyhuntsucks.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "topicit.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "tommic.eu", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "top-opakowania.pl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "tavolaquadrada.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "theragran.co.id", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -13454,10 +13404,8 @@
     { "name": "bonami.sk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "bonaccorso.eu", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "biomodra.cz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "cabaladada.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "campcambodia.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "capimlimaoflores.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "cakingandbaking.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "brazillens.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cacaumidade.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cbr-xml-daily.ru", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -13471,7 +13419,6 @@
     { "name": "cheeseemergency.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "chat.cz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cinefilia.tk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "citimarinestore.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ckostecki.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ciphersuite.info", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "coda.world", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -13480,7 +13427,6 @@
     { "name": "columbuswines.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "coda.moe", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "contractormountain.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "cookieandkate.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "conradkostecki.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cybersmartdefence.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cw.center", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -13893,7 +13839,6 @@
     { "name": "trockendock.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "tonytron.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "tortugan.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "taxlab.co.nz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "unixtime.date", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "toschool.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "urology.wiki", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14037,11 +13982,9 @@
     { "name": "do.gd", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "e-cottage.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "emporiodosperfumes.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "equinecoaching.ca", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "esite.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "feld.design", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "flyspace.ga", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "forbiddenhistory.info", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "frugalfamilyhome.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "globalprojetores.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "hotcandlestick.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14052,7 +13995,6 @@
     { "name": "jamaat.hk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "jerseylvi2013.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "karlsmithmn.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "laymans911.info", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "leipziger-triathlon.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "librazy.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "lifesafety.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14070,7 +14012,6 @@
     { "name": "servicevie.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "sinuelovirtual.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "slpower.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "smackhappy.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "solicafe.at", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "spaziobenedetti.com.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ssenberg.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14138,7 +14079,6 @@
     { "name": "funoverip.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "geertdegraaf.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "gitep.org.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "gourmetfestival.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "grailians.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "grapee.jp", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "gregorkofler.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14152,7 +14092,6 @@
     { "name": "ingo-schlueter.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ingoschlueter.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "inter-corporate.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "ioslo.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "jeremy-chen.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "joespaintingpgh.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "jons.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14349,7 +14288,6 @@
     { "name": "capuchinox.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "carol-lambert.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "catbull.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "cfno.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cheapestgamecards.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cheapiesystems.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "childrenandmedia.org.au", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14358,7 +14296,6 @@
     { "name": "chupadelfrasco.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cine.to", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "clarity-c2ced.appspot.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "clnnet.ch", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cloudimprovedtest.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "club-adulti.ro", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "coingate.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14374,7 +14311,6 @@
     { "name": "crackcat.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "criena.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "crisisactual.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "customgear.com.au", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "daciamodellen.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "darc-mak.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "dark-infection.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14510,7 +14446,6 @@
     { "name": "introvertedtravel.space", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "itzap.com.au", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ivanbenito.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "japaneseemoticons.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "jdc.io", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "jlponsetto.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "jmsolodesigns.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14545,10 +14480,8 @@
     { "name": "lubar.me", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "luso-livros.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "luvare.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "luxcraft.eng.br", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "m4g.ru", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "mabankonline.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "macaw.nl", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "majkyto.cz", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "maldives.cx", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "mamanecesitaungintonic.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14559,7 +14492,6 @@
     { "name": "markridgwell.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "markup-ua.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "matheo-schefczyk.de", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "matrixreq.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "maxisito.it", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "meierhofer.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "melaniebernhardt.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14637,7 +14569,6 @@
     { "name": "priorityelectric.net", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "prlved.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "probely.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "proft.eu", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "psb4ukr.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "psu.je", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "ptal.eu", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14841,7 +14772,6 @@
     { "name": "coinloan.io", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "compliancerisksoftware.co.uk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cristau.org", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "ct-watches.dk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "cylindricity.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "danamica.dk", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "dashlane.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -14898,7 +14828,6 @@
     { "name": "jimdorf.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "jts3servermod.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "justbookexcursions.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
-    { "name": "justbooktransfers.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "kesslerwine.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "kredit-abzocke.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
     { "name": "krypt.com", "policy": "bulk-18-weeks", "mode": "force-https", "include_subdomains": true },
@@ -15482,7 +15411,6 @@
     { "name": "melodiouscode.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "memorycards.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mendipbouncycastles.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "michaelschubert.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "midlandsfundays.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "midlandsphotobooths.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mikerichards.photography", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -15989,7 +15917,6 @@
     { "name": "hexhu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hiccupsandjuice.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hlsmandarincentre.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hogrebe.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "holvonix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hroling.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "https4all.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16004,7 +15931,6 @@
     { "name": "jababu.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jannisfink.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jltctech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jobbsafari.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jobindex.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "johndball.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jonpavelich.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16079,7 +16005,6 @@
     { "name": "spamdrain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sreeharis.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stepstone.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "systemli.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tamindir.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tcnapplications.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teemulintula.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16093,7 +16018,6 @@
     { "name": "ur.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "urcentral.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vaindil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vernonspeedskatingclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vmoe.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "volta.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "waterleeftinbeek.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16209,7 +16133,6 @@
     { "name": "magnificentdata.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "medcrowd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "meiqia.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "meiqia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "minerstat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "minor.news", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mojeco2.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16270,7 +16193,6 @@
     { "name": "techview.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thebit.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "todoscomciro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tolle-wolke.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tomravinmd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tracinsurance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trunk-show.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16313,11 +16235,9 @@
     { "name": "arteaga.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arteaga.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artecat.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "artisansoftaste.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artmarketingnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "atelierdeloulou.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "atheist-refugees.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "attac.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "austinuniversityhouse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "australianimmigrationadvisors.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "autocrypt.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16396,7 +16316,6 @@
     { "name": "cumplegenial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cyberseguranca.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "czfa.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "daminiphysio.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "davidbranco.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "decs.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dedg3.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16432,7 +16351,6 @@
     { "name": "elwix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elysiria.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emvoiceapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "enderbycamping.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "epa.com.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ephesusbreeze.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "epreskripce.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16454,7 +16372,6 @@
     { "name": "federatedbank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "feuerwehr-mehring.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "filanthropystar.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fintry.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fleurenplume.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fliino.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fliino.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16608,7 +16525,6 @@
     { "name": "neonataleducationalresources.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "neonatalgoldenhours.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nepremicnine.click", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "netsparker.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nettamente.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nhsuites.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nickscomputers.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16928,7 +16844,6 @@
     { "name": "itaiferber.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jobsisbrown.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "joefixit.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "johansf.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jrabasco.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jtp.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "juanfrancisco.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -16970,7 +16885,6 @@
     { "name": "moutiezhaller.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mrhc.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "muzikantine.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "my-new-bikini.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mydentalplan.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myrewardspoints.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nabytek-valmo.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -17060,7 +16974,6 @@
     { "name": "spazzacamino.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spottedpenguin.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sslbrain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "steponedanceclub.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stinsky.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "strongpassword.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "studiolegalepaternostro.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -17356,7 +17269,6 @@
     { "name": "sylvaloir.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "systematic-momo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "systematic-momo.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tandempartnerships.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teamusec.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tenno.tools", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thermalbad-therme.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -17484,7 +17396,6 @@
     { "name": "icloudlogin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "imask.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "imppac-schmuck.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "indianaberry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "insolved.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "internationaltalento.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ipresent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -17959,7 +17870,6 @@
     { "name": "gluedtomusic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gmccar.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "godruoyi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gubagoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hacc.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hartzer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "healthplansamerica.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -17980,7 +17890,6 @@
     { "name": "innersafe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "intasky.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "intasky.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "iphonekaitori.tokyo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ipo-times.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ismena.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jan-hill.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -18031,7 +17940,6 @@
     { "name": "qis.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quickinfosystem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rainel.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rdmtaxservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reckontalk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "restaurantguru.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "richie.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -18249,7 +18157,6 @@
     { "name": "papierniczy.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "paxerahealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "peterborgapps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "petpower.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pfk.org.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pieland.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "plesse.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -18353,7 +18260,6 @@
     { "name": "guegan.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "herramientasbazarot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "homecheck.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hotelsinbuxton.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "howtoinstall.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hydro17.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hydrographicsocietybenelux.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -18433,7 +18339,6 @@
     { "name": "celine-patisserie.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chl.la", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chlth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cosmekaitori.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dasug.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "davidlamprea.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elettricista-roma.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -18441,7 +18346,6 @@
     { "name": "evilmartians.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "exexcarriers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "freebcard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gamekaitori.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gao.rocks", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gaojianli.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hackreone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -18450,7 +18354,6 @@
     { "name": "ilmiogiardiniere.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "improved-madness.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inchenaim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ipadkaitori.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kaikei7.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kobejet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kooliveeb.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -18498,7 +18401,6 @@
     { "name": "acrepairgeorgetown.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "acrepairhutto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "acrepairroundrocktx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "acrolife.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adsl2meg.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "affping.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aginion.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -18546,7 +18448,6 @@
     { "name": "derbuntering.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dermscc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deyute.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "didierghez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digital-liberal.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digital.govt.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "discoveryaima.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -18756,7 +18657,6 @@
     { "name": "ajiboye.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alienslab.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alonetone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "amaiz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "analisilaica.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ananas.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "andyc.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -19151,7 +19051,6 @@
     { "name": "izxxs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "izxxs.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "izxzw.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jala.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "joeyfelix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "johnbpodcast.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jose-lesson.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -19326,7 +19225,6 @@
     { "name": "yukimochi.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zacharydubois.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "40acts.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "achwo.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adam-ant.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agouraexteriorlighting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agourahillselectric.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -19516,7 +19414,6 @@
     { "name": "landscapelightingsimivalley.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "landscapelightingthousandoaks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "landscapelightingwestlakevillage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "latiendawapa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ldjb.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "learningman.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lebendige-heilkunst.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -19716,7 +19613,6 @@
     { "name": "davidsimner.me.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "demmer.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "diamantovaburza.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dianafaraj.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dokspot.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dokspot.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "evolvingthoughts.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -19852,7 +19748,6 @@
     { "name": "childrens-room.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "christec.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "christerwaren.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "classictheatrecumbria.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cloudns.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "colinsnaith.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "collectorsystems.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -20051,7 +19946,6 @@
     { "name": "sealaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sekoya.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shuletime.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "smallcloudsolutions.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smaltimento.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smartwoodczech.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sms.storage", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -20098,7 +19992,6 @@
     { "name": "whittome.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "withextraveg.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wohlpa.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wpsitemovers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wrn.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xants.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--5dbkjqb0d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -20303,7 +20196,6 @@
     { "name": "digicy.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dirkdoering.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "djleon.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dormirmucho.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drawxp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drinkcontrolapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drlandis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -20954,7 +20846,6 @@
     { "name": "incert.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jcb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jointotem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jsnfwlr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "k8n.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kellimacconnell.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "keygen.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -20971,9 +20862,6 @@
     { "name": "magic-cards.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "magiccards.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "marylandbasementandcrawlspacewaterproofing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mediaukkies.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mediawijsheid.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mediawijzer.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "millettable.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mixx.com.hk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mobilecontractcomparison.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -21028,7 +20916,6 @@
     { "name": "51tiaojiu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abdel.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "accoladescreens.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "actonwoodworks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agencyinmotion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airbnb.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airbnb.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -21118,7 +21005,6 @@
     { "name": "bot-manager.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bouncycastlehire.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brickstreettrio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "brouwerijdeblauweijsbeer.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "camdesign.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cardsolutionsbh.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carlocksmithtucson.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -21384,7 +21270,6 @@
     { "name": "ymoah.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yoast.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zionnationalpark.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "1se.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "360vrs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "69wasted.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abateroad66.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -21443,7 +21328,6 @@
     { "name": "caldoletto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "camshowverse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "caroffer.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "casinomucho.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casinomucho.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cedarcitydining.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "celeraindustries.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -21890,7 +21774,6 @@
     { "name": "affittialmare.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "affordableenvironmental.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agemfis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aidanmitchell.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airswap.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "allpointsheating.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "allstarcashforcars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22102,10 +21985,8 @@
     { "name": "brettlawyer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "browntowncountryclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bucek.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "burg-hohnstein.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carson-matthews.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cartwrightrealestate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "casa-app.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casa-lunch-break.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casalunchbreak.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "caseycapitalpartners.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22150,10 +22031,6 @@
     { "name": "dras.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drawtwo.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drcarolynquist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dresdener-mandelstollen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dresdens-pfefferkuchenprinzessin.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dresdner-mandelstollen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dresdner-stollen.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drlinkcheck.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drsamuelkoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dvipadmin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22202,9 +22079,6 @@
     { "name": "formsbyair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frasesconemocion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "freemanlogistics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "freundinnen-ausflug.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "freundinnen-kurzurlaub.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "freundinnen-urlaub.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gaojianli.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gartenbaur.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "genbright.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22260,15 +22134,8 @@
     { "name": "khslaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kingsfoot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kiskeedeesailing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kleine-strandburg-heringsdorf.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kleine-strandburg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kleinestrandburg-heringsdorf.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kleinestrandburg-usedom.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kleineviecherei.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kleintransporte.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "klingenundmesser.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kontorhaus-stralsund.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kwoll.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lachyoga-schwieberdingen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lasavonnerieducroisic.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "law22.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22300,7 +22167,6 @@
     { "name": "moreniche.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mt-bank.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mtauburnassociates.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mv-schnuppertage.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mvistatic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mygnmr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mykumedir.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22335,8 +22201,6 @@
     { "name": "parisackerman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pedimanie.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pekarstvivetvrzi.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pfefferkuchen-shop.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pfefferkuchenprinzessin-dresden.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "philipdb.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phoenixurbanspaces.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pooltools.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22348,10 +22212,6 @@
     { "name": "proyectafengshui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "psg-calw.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pubclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pulsnitzer-lebkuchen-shop.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pulsnitzer-lebkuchen.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pulsnitzer-pfefferkuchen-shop.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pulsnitzer-pfefferkuchen.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pyrenees.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qianmo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "raku.bzh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22368,10 +22228,8 @@
     { "name": "ripcorddesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "roeljoyas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rothwellgornthomes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "roundtoprealestate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rupeevest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sadhana.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "saechsischer-christstollen.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sainthelena-centersquare.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saintisidorecyo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saintjosephschurch.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22387,8 +22245,6 @@
     { "name": "sarkisianbuilders.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sbscyber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sceenfox.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "schoko-ferien.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "schokoferien.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scottlanderkingman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "screefox.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "screen-fox.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22439,7 +22295,6 @@
     { "name": "stmarkseagirt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stockstuck.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stonehurstcap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "strandschnuppern.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ststanstrans.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stthomasbrigantine.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "studio-637.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22448,8 +22303,6 @@
     { "name": "supremestandards.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sussexheart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sz-lessgym-kamenz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tagungsraum-usedom.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tagungsraum-zinnowitz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tandemexhibits.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "technospeakco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "techpilipinas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22492,19 +22345,16 @@
     { "name": "wba.or.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webstart.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wegonnagetsued.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wellness-bonbon.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "westside-pediatrics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whitehats.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whysoslow.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "windforme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "winter-auszeit.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winterhavenobgyn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winwares.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "womensmedassoc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wpccu-cdn.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wplistings.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--heilendehnde-ocb.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xn--schsischer-christstollen-qbc.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yoa.st", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "youngauthentic.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zdravystul.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22602,7 +22452,6 @@
     { "name": "cierreperimetral.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "civilbikes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "claygregory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cmc.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "codehz.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coldcardwallet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "comohacerblog.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -22766,7 +22615,6 @@
     { "name": "labanochjonas.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "labanskoller.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lamed.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "landingear.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "larabergmann.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "learnlux.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lendahandmissionteams.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -23180,7 +23028,6 @@
     { "name": "cgminc.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chatforskning.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chicagoemergencyclosings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "chrisahrweileryoga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cimbalino.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "citfin.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "citycreek.studio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -23470,7 +23317,6 @@
     { "name": "b767.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "balter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bananice.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "baumkuchen-aus-dresden.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "baza-gai.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beavertales.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "belos.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -23481,7 +23327,6 @@
     { "name": "bgmn.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "billfazz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bitrefill.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bixbydevelopers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bkt.to", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "boreo.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brightside.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -23532,7 +23377,6 @@
     { "name": "cvtemplatemaster.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dafyddcrosby.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "davidkeane.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dbrand.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "decor-live.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deep-labs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "depedtambayan.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -23840,7 +23684,6 @@
     { "name": "trico-pigmentazione.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "try2services.vc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "twatspot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "verschoren.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vervewellness.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vindipoker.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vitamina.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -23891,7 +23734,6 @@
     { "name": "carcloud.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carterdan.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casacazoleiro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "certificazioni-energetiche.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "civicamente.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cookingperfected.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cupoane-reducere.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -23916,7 +23758,6 @@
     { "name": "gow220.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "graphobyte.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hardhat.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "haushaltsaufloesunghannover.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hgpowerglue.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ictoniolopisa.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "isaropiping.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -23956,7 +23797,6 @@
     { "name": "secure-computing.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sheerchain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sjnp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sqills.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tende.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thisistechtoday.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tryhexadecimal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24105,7 +23945,6 @@
     { "name": "0x41.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1android.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4hmediaproductions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "877027.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "allrad-buck.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amyria.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "appspace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24159,7 +23998,6 @@
     { "name": "jerrysretailstores.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jix.im", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "joyfulhealthyeats.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kalashcards.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "klop.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "komp247.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leafland.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24341,7 +24179,6 @@
     { "name": "schoenstatt-fathers.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shiqi.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shiqi1.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "simonmanuel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sloanrealtygroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "speeder.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "speeders.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24378,10 +24215,7 @@
     { "name": "ypfr.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zstgmnachod.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "intercom.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "06804.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "100k.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "161233.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "321132.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "502312.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "621162.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "676812.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24405,7 +24239,6 @@
     { "name": "carlocksmithcarrollton.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carplus.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "centrepointorguk-dev.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cert.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "checkmyhttps.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "civey.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cloud10.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24545,7 +24378,6 @@
     { "name": "citizensgbr.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cockedey.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "corl3ss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "csirt.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cycledownunder.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cynicaloptimist.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daniel-milnes.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24564,7 +24396,6 @@
     { "name": "ferriswheelofficial.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fleet-group.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fleet-search.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "garcia-franco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gladysstrickland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gregory-thibault.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "guidesacademe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24697,7 +24528,6 @@
     { "name": "centermk.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cfc-swc.gc.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "charset.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "clevvi.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coinsmat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coldlasers.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cramersoft.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24743,7 +24573,6 @@
     { "name": "iwd.gc.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "izolpoznan.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jif.gc.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jsk26.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "json.download", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "juergmeier.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "karrot.world", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -24998,7 +24827,6 @@
     { "name": "lrumeq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "markshroyer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "matthew-cash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "medik8.com.cy", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "menno.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "modcover.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "moddiy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25059,7 +24887,6 @@
     { "name": "blobemoji.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blobs.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bufla.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "burkhardt.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bvbmedia.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bwanglab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "c00ke.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25090,7 +24917,6 @@
     { "name": "hildebrand.group", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ikymbo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "infinipharm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "instagram.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jakubsindelar.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jeffpenchoff.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jeurissen.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25208,7 +25034,6 @@
     { "name": "estintori.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "evdenevenakliyatankara.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ewinstore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fabien-hebuterne.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "favalart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "favorai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frankellawfirm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25263,7 +25088,6 @@
     { "name": "ramsdensplc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reeftrip.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "revistabifrontal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rushmix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shadowvolt.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "siamrehab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "signpath.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25367,7 +25191,6 @@
     { "name": "breakingvap.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bytepark.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cakeoffencesact.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "casinochecking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "catlovingcare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ce-webdesign.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chicback.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25404,7 +25227,6 @@
     { "name": "discordbee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "diygeek.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dolph.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "domainspeicher.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dreamcraft.su", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dreamz-staging.zone", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "duvalo.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25474,7 +25296,6 @@
     { "name": "kimitang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kimochi.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kingjamesbibleonline.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "klauke-enterprises.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kn40la.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kn4ivj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kn4ola.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25763,7 +25584,6 @@
     { "name": "p-p.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pechonova.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "plumbingkingsllc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "po0k.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "post.monster", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "predkosci.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rbs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25899,7 +25719,6 @@
     { "name": "medguide-bg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mehrnevesht.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "meta4.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mikemooresales.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "minmaxgame.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "moonboys.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mt1016.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25984,8 +25803,6 @@
     { "name": "attendanceondemand.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "balaskas.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beardboys.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bernbrucher.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bernbrucher.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blideobames.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "boulderlibrary.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brandondivorcelawyer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -25997,7 +25814,6 @@
     { "name": "chwilrank.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "co-founder-stuttgart.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "competencyassessment.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cornergarage.coop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digitalprimate.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "discarica.milano.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dnscrypt-blacklist.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -26064,7 +25880,6 @@
     { "name": "opvakantie-zweden.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oro.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "osom.finance", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "partin.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "personalidadmagnetica.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "prsnlafk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pulizievap.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -26086,7 +25901,6 @@
     { "name": "sartoria.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scanmailx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "schreinerei-schweikl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "scqpw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scuolamazzini.livorno.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "serfas.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "servicios-electricos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -26099,7 +25913,6 @@
     { "name": "steiner.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stemmayhem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "t9721.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tcj.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "terme.viterbo.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "theundefeated.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "travelus.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -26367,7 +26180,6 @@
     { "name": "fucknazis.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fucknazis.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "georgewatson.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "globecollege.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goehler-baumpflege.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gosportweather.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hanazono.tokyo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -26426,7 +26238,6 @@
     { "name": "setesat.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shibbydex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "siikaflix.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "solxsys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sound.as", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sqdll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "starvizyon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -26625,7 +26436,6 @@
     { "name": "jvdz.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "koreanrandom.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "libertas.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lifestorage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "locksmithsinsanantoniotx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lombri-agro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lucidlink.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -26722,7 +26532,6 @@
     { "name": "estetici.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "esyoil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fff-du.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ffmv.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fheuschen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flonharmonymassage.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flowinity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -26732,8 +26541,6 @@
     { "name": "gopnikman.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gordyforty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gpcp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gpna.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "grantpark.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gulcinulutuna.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hereticle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "herrschaftlich-durch-dresden.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -26875,7 +26682,6 @@
     { "name": "nicht-blau.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nostalgische-attracties.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "odysea.cat", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "oic-ci.gc.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "omexcables.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "orbitcleaning.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "overframe.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -27277,7 +27083,6 @@
     { "name": "essayshark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "facedack.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fgsv-kongress.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "filmarchiv-sachsen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fimfiction.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "forcelink.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "forthvalleykeswick.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -28757,7 +28562,6 @@
     { "name": "vatav.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vegetarier-sind-moerder.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vektlofting.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vendi.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vengriya.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "veredadelaestrella.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "verstka.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -29043,7 +28847,6 @@
     { "name": "corehealthberks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cornitek.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "corruptos.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cosec.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cosmos-software.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "craftshiponline.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "craigdavis.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -29085,8 +28888,6 @@
     { "name": "directorydisc.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dizayner.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dlyatepla.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "domain-speicher.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "domain-speicher.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "domenaru.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "domhos.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dominicandfelixroco.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -29149,7 +28950,6 @@
     { "name": "flipphotography.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "forexcity.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "formalgrammar.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "formality.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "forum-tutorapide.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "forumcarriocity.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fotopalacedigitalstudio.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -29157,7 +28957,6 @@
     { "name": "foxtrotfm.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "france-news.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fredhook.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "freundinnenausflug.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "funnychristianjokes.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gabriella.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gamingtilltheend.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -29717,7 +29516,6 @@
     { "name": "rtgnews.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rubyonline.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rudating.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rukminicarrentals.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "russia-rp.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "russiahunting.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "russianbearsmotorsport.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -29867,8 +29665,6 @@
     { "name": "sweat-shirts.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "symetrix.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tadjikistan.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tagungsstaette-usedom.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tagungsstaette-zinnowitz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taihesy.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taken.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "talusan.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -30011,8 +29807,6 @@
     { "name": "wwwwnews.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xakepctbo.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xerezdeportivo.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xn--tagungssttte-usedom-owb.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xn--tagungssttte-zinnowitz-84b.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xtravans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xurl.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xxxoopz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -30419,7 +30213,6 @@
     { "name": "descargar-apk.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "desentupidorademais.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dylnuge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ebertlang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elisabethcasanova.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "esteriliza-me.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "excerp.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -30629,7 +30422,6 @@
     { "name": "whitesoxbestteaminbaseball.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wine-route.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--80akjfhoqm2h2a.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xn--whlefamilie-l8a.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yogamarlene.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zedeko.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1fc0.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -30643,7 +30435,6 @@
     { "name": "anjara.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "app-scope.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artrapid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "auntiesnorkel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "autoklub.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "azpogomap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "azrhymes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -30733,7 +30524,6 @@
     { "name": "sarjakuvakauppa.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "secapp.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "seedno.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sehd.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "serv.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sign.dog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skeriv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -30820,7 +30610,6 @@
     { "name": "ltcwaterwijk.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "magniflood.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mansora.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "marijuanajobscannabiscareers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "middletonshoppingcentre.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nathanbarry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newshell.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -30950,7 +30739,6 @@
     { "name": "knuterikskare.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kodkollen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kodkollen.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kopfkrieg.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kurierwilenski.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leveluprankings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "libwebsockets.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -31070,7 +30858,6 @@
     { "name": "evoting.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ewcd.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "examika.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "eyep.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fojing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "freedomtoolkit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ftl13.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -31166,7 +30953,6 @@
     { "name": "almeeraloyalty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "almusbahperfume.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aperture-science.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aplazame.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "atrias.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "audiohub.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "autotrac.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -31203,7 +30989,6 @@
     { "name": "engagelogic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ericsilva.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "erperium.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "faizanullah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fam-borsch.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fetishbazar.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fibroarrendacaseton.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -31893,7 +31678,6 @@
     { "name": "radiodeutsch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ranyeh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "repliksword.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "retetop95.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "runicspells.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saferequest.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sailormoongallery.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -32385,7 +32169,6 @@
     { "name": "shawnz.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sheremetka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shin-yo.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "siteweb-seo.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slymak.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "soket.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "southmill.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -32401,7 +32184,6 @@
     { "name": "tipranks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tool.lu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tours.co.th", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tradesafe.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tsutawal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tvnow.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ukpropertyrescue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -32632,7 +32414,6 @@
     { "name": "singleproduction.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sitak.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smithsanchez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "soslsd.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "starkvilleurgentcareclinic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stc-istok.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sugarpiano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -32737,7 +32518,6 @@
     { "name": "fastpeoplesearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "faunahotel.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fdlpl.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fh70.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "filejet.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fishycam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fleetcomplete.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -32934,7 +32714,6 @@
     { "name": "thebrainfactory.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thinair.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiance.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "timseverien.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tipsypresent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tksainc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tobiefornerod.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -33085,7 +32864,6 @@
     { "name": "gununsesi.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hankoreas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hazelhof.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hebamme-ebersberg.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hegartymaths.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hitflow.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hjelpemiddeldatabasen.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -33152,7 +32930,6 @@
     { "name": "rainbowswingers.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "regazofotografia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rentandamiosycasetas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "risoscotti.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rouair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saito-koken.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -33259,7 +33036,6 @@
     { "name": "ian678.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "imagevillage.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "infihow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "janw.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jbdesignfoundations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jimcoggeshall.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jischool.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -33326,7 +33102,6 @@
     { "name": "souletter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "steppingoutinstyleonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "svenskmediabevakning.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "synergyfitness.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taotic.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tarotsgratuits.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "techday.asia", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -33531,7 +33306,6 @@
     { "name": "lacasadelours.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lamnea.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "langapi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lasersandbacon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ledensite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "legion.ge", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "levidromelist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -33548,7 +33322,6 @@
     { "name": "lynnejeancleaning.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lyrenhex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "majameer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "markusritzmann.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "masterkitchen.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mavenvets.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mbedcloudintegration.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -34547,7 +34320,6 @@
     { "name": "furisode-yamaguchiya.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gamerwelfare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gavingreer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "geekdama.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "getbootstrap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ghostwritershigh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "girl.click", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -34630,7 +34402,6 @@
     { "name": "lawportal.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lednavi.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "legendwiki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "leviobery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "li-n.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lightningseed.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "limecho.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -34832,7 +34603,6 @@
     { "name": "snabbfoting.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "snelwegzen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "socialblaze.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "socialmark.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "solautoescuela.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "soliten.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sonologic.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -35325,7 +35095,6 @@
     { "name": "webviewcams.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wedeliverdavao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whisper-net.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wickerwoman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winserver.ne.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wkberg.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "woodlandwindows.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -35388,8 +35157,6 @@
     { "name": "autostramites.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "badnjar.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "besiktasmtsk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bethematch.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bethematchclinical.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bimsynergistics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blanx.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bou.ke", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -35558,7 +35325,6 @@
     { "name": "carbuzz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cardiaccane.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chou-chinois.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dachdeckerei-hagen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dagbestedingwarrie.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dallemon.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dampferchef.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -35579,7 +35345,6 @@
     { "name": "erudio-usluge.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eu-prodaja.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "everysaving.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "externer-datenschutzbeauftragter-bochum.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "finfleet.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flirtportalcheck24.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foxtransportables.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -35949,7 +35714,6 @@
     { "name": "metasolutions.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mindbuild.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ministryofinternet.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "miodziki.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mk.gov.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "moec.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "money-spell.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -39365,7 +39129,6 @@
     { "name": "homophones.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "homyak.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "honguyensy.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hopeland.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "horcajadadelatorre.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "horde-entertainment.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "horizonmail.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -43721,7 +43484,6 @@
     { "name": "tumult-productions.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tunen.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tunenet.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tungstenworld.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tunisiadefnews.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tupatane.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "turadionline.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -44739,7 +44501,6 @@
     { "name": "codefive.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "compagniecoupable.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cornerstonefoundationrepairllc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "corona-stats.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cotandoseguro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "creditshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "datingso.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -44906,7 +44667,6 @@
     { "name": "newsbay.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nptn.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "okobojitech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "openqnx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oriveda.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oriveda.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ourcreolesoul.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -45154,7 +44914,6 @@
     { "name": "validius.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "valkoi-konyvtar.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "valkoi-ksk.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vapemate.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "veikkosimpanen.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wearedevs.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wearetravellers.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -45307,7 +45066,6 @@
     { "name": "rundh.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "s-geiser.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sanatstore.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sawiday.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "schoolbuddy.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "seoprnews.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "serverstatus.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -45424,7 +45182,6 @@
     { "name": "cloudturing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "codename-infinity.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "codename-infinity.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "codewitchbella.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "codydostal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coldecan.edu.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "consul-coton.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -45459,7 +45216,6 @@
     { "name": "elementalengines.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elementalengines.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emil-reimann.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "erosbeautyandwellness.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "essenah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "factorway.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fazal.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -45525,7 +45281,6 @@
     { "name": "pannovate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pentekdograma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "petercawthron.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pichainlabs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "piercingnagykereskedes.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "piercingpiac.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pirnhub.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -45576,7 +45331,6 @@
     { "name": "vampiresdawn.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vandoornmiddenzeeland.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "videosporno.life", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vigoinvestments.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wallacealvesdigital.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wallnot.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wildzap.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -45601,7 +45355,6 @@
     { "name": "agscapeslandscaping.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aipi.tel", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alieninvasion.fun", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "americanstrategic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "andibo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "antifaschistische-linke.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "antwire.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -45767,7 +45520,6 @@
     { "name": "safewaywaterproofing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sairadio.net.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sallyman.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "santander.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "santimb.photos", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saxobroko.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sebastien-meric.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -45991,7 +45743,6 @@
     { "name": "pstrykmyk.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "purepowercycle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quietapple.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "regamega.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rgfundraising.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rtl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sandtime.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -46125,7 +45876,6 @@
     { "name": "gotgeeks.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gravitlauncher.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "himbak.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hirisejanitorial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hno-norderstedt.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "holdiers.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hystats.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -46209,7 +45959,6 @@
     { "name": "picordi.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pinnacleroofingsolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "piranja-cola.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "piranjasoul.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pixeluser.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pohoron.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "point.pink", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -46359,7 +46108,6 @@
     { "name": "gatehub.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gbhem.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gergoladi.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "giannifoti.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gudbrand.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "guiadev.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "h5q.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -46469,7 +46217,6 @@
     { "name": "3ecpa.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "42usd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4huawei.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "4meizu.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4xiaomi.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adventistai.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airit.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -46695,7 +46442,6 @@
     { "name": "3niu668.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4hw.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "8bitsafe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "99casinos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aceofdiamondspainting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "acephalafashion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "as41405.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -46716,7 +46462,6 @@
     { "name": "burmeister-gmbh.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cailoli.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carcare.net.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "casa-familia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cdseditora.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ciel.coffee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clinicadentalayomunoz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -46725,7 +46470,6 @@
     { "name": "coffeeciel.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "compare-energie.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "computerscience.guide", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "curtispope.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cyklistika24.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deltaworkssecurity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deltaworkssecurity.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -46809,7 +46553,6 @@
     { "name": "netdisk.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "neurosurgeryinmexico.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "niinaratsula.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nksmart.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nostoautomaatti.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nunoprospero.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "officecode.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -47278,7 +47021,6 @@
     { "name": "scott.st", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "security-systems.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shahidfakih.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "shanteo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shopforeverproducts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shouldtest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shouldtest.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -47325,7 +47067,6 @@
     { "name": "verygoodwebsite.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "virtualx.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vokabl.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wallinvogue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wbookcompany.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webdesign-kall.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wisersp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -47501,7 +47242,6 @@
     { "name": "lawyersofmissouri.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lawzava.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lemans.com.gt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lifehacker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lloydrogerspencer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "logay.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lysel.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -47583,7 +47323,6 @@
     { "name": "acytec.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "akrilikhavuz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aless.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "alta-ict.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amsconnectapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amy-nichols.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "antstoolbox.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -48144,7 +47883,6 @@
     { "name": "zpider.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1xbetapk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "2002000.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "acerosfortuna.com.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "acquadiparma.kr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "admindaily.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "advania.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -48242,7 +47980,6 @@
     { "name": "fl.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "florianbouchet.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flowercityflavor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "foair.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "forexwine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "franchiseguide.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fureais.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -48354,7 +48091,6 @@
     { "name": "plixer.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "poppinspayroll.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "powderedcloud.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "powerpadel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "previstart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "privacysvcs.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "proekt.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -48604,7 +48340,6 @@
     { "name": "paidtocode.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "paidtodesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "paidtodev.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "palermofc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "paysbuy.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pepwaterproofingllc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phdelivery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -48808,7 +48543,6 @@
     { "name": "harambo.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hcsoffshore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hcv.ind.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "heesenyachts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "heic.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "heraa.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "herf.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -48956,7 +48690,6 @@
     { "name": "4nikola.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "8duhu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abc-kinderbetreuung.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aclipt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "acropolis.edu.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agateh.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agentpoint.website", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -49109,7 +48842,6 @@
     { "name": "mahadsunnah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "maiscuidar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mantaoilco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "metalmonocle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "milr.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "minermonitoring.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "misclick.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -49207,7 +48939,6 @@
     { "name": "acceleratethesale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adalite-staging-testnet.herokuapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adalite.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "adaptiveequipment.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "affittibreviliguria.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "allianceforafreesociety.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "allianceforafreesociety.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -49244,7 +48975,6 @@
     { "name": "d-ku.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daniellecavazos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "decorsolucionesgraficas.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "djh-nordmark.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dontasktoask.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drathaisdentista.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dreamsolution.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -49541,7 +49271,6 @@
     { "name": "preguntasdeciudadania.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "promifotos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "proschlaf.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "qabete.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qingyule.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quinteroorthodontics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quiq.im", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -49558,7 +49287,6 @@
     { "name": "scarabcoder.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "schlafteq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scope.studio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sensorshop.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shichidadoma.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shiftade.band", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shiftadeband.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -49638,9 +49366,7 @@
     { "name": "adstune.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ae86u.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ae86uu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aerolineasvenezolanas.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aerosoul.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aethereahealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aftodioikisi.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agcpapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agilealliance.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -49763,7 +49489,6 @@
     { "name": "cloudinfinit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clubapk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clubzul.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cni.net.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coldwateraustin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "collinselectricco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "comarch.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -49784,7 +49509,6 @@
     { "name": "ctpe.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "d21laxujm54z8h.cloudfront.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dailybihar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "daiwa-union.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "datatube.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "datavizable.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deonlinedrogist.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -50226,7 +49950,6 @@
     { "name": "arpasix.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arpasix.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "asian-sirens.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "astrumadvies.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "atcstl.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "autek.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "barbonnetje.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -50340,7 +50063,6 @@
     { "name": "picturevictoria.vic.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pixelglue.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "politoboz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "qikify.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rena.am", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rijnland.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rosewebdesignstudio.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -50420,7 +50142,6 @@
     { "name": "armyrtf.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ashwainfo.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "atlastaxi.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "audrak.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "babyportal.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bahrep.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "baldvinringsted.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -50817,7 +50538,6 @@
     { "name": "22times.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "a-r-t-house.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "achievingheightsacademy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "adrianfeliciano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "advocatae.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aggressivecarwraps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aktivitetatil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -50956,7 +50676,6 @@
     { "name": "solochubasqueros.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sourcing4exports.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "soychef.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sponec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "squadgames.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stall-frei.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "starfield.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -51204,7 +50923,6 @@
     { "name": "svenpeter.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "svpe.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "svpe.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "swissgrid.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taylorfry.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "terbaruberita.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tests-and-tips.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -51306,7 +51024,6 @@
     { "name": "defietsambassadegent.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "devinslick.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dewingerdfreinet.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "difc.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "docsend.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "domowejroboty.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "draakjefosfor.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -51410,7 +51127,6 @@
     { "name": "maizuru-ongaku-kan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "makasetesan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "makhmudov.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mariowiki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mealsnmemories.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "meiersmarkus.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "meldjeaan.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -51500,7 +51216,6 @@
     { "name": "timotheeduran.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiwilandcouncil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "toulis.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "translit.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "triplesixdesigns.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "twinfield-apps.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "two-step-verification.solutions", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -51667,7 +51382,6 @@
     { "name": "enlightsec.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eplayer.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eplayer.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "erctra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "erlebe-salsa.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "escrowalliance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "esm.run", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -51686,7 +51400,6 @@
     { "name": "freundeskreis-tarjan.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fronteimoveis.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "galefacialplastics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "geekgao.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "geeksforrent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "genhu.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gentcongres.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52073,7 +51786,6 @@
     { "name": "giftsforaspecialoccasion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hamminga.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "heiliao.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hiseplast.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "homeloanprequalify.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "houthandelbunskoek.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "houthandeljacobs.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52081,10 +51793,8 @@
     { "name": "iburgs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "icolorpalette.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "igualdaton.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "illumepgh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "im-razmakh.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "immocompar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "inaboutique.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inkhub.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "isaacgolding.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ite.st", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52119,7 +51829,6 @@
     { "name": "manforums.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "manteligencia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mantelligence.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "marcositaliandeli.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "masters-burrell.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mayamushrooms.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mayorscouncil.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52281,7 +51990,6 @@
     { "name": "btln.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "btraviswright.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "buddiescomputers.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "burg-hohnstein.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "burnsland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bwzc.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "byootify.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52295,7 +52003,6 @@
     { "name": "cidcca.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clubexpress.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "colorideas.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "colosseumticket.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "consultadepsicoterapia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "countrify.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "craftbyhand.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52358,11 +52065,9 @@
     { "name": "internetional.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ip-addr.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iqreview.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "israel-escorts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "itsgreener.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iymark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jadeforallseasons.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jeek.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jellyfin.spdns.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jixun.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jobhouse.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52392,7 +52097,6 @@
     { "name": "luisbustamante.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "m2international.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "machissenefre.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "maitlandcashforcars.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mariasemarias.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "markdaine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52470,7 +52174,6 @@
     { "name": "shotoniphone.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sib.li", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "simetria.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sinatralegal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "singee.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smrdim.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sol-design.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52559,7 +52262,6 @@
     { "name": "bestsextoys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "betwinnerlive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "betwinnerportugal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bietthudangcap.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bijlokesite.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bijlokesite.gent", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "biomassinfo.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52673,26 +52375,6 @@
     { "name": "lukekuza.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lyla-pressing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "magescobd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.lu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mail.tm", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "makelindazi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "manufacturingusa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52809,7 +52491,6 @@
     { "name": "ritense.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rockshooters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rway.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ryazagro.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saintlouisfence.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saitas.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "salt.fish", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52850,7 +52531,6 @@
     { "name": "straniero.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "styleflow.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sujiao.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "suncloud.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sunsetfire.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "supremaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "surveyorcloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52860,7 +52540,6 @@
     { "name": "tamamo.cat", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tarper24.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taxadvantagellc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "techstackjournal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tennisapp.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tgcgrain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thecardcloset.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52871,7 +52550,6 @@
     { "name": "thepureplan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thesingaporelawyer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thetinymom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "thietkenamcuong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thomwiggers.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiktak.su", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tipsplants.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -52901,7 +52579,6 @@
     { "name": "volkswagenmiennam.com.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vrfoodchannel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "windycitylawgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xaydungnamcuong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn----7sbbfsshjvgyde8g3c.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn----8sbfkobhgmxahfmmhe8b8c6ff.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--36-dlcdun7abo4a.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -53129,8 +52806,6 @@
     { "name": "gravelshooters.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grhhosting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grimmhome.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "grittherapeutic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "groenemoskeeen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "groots.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grovesales.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "guaranteedfitdanceshoes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -53180,7 +52855,6 @@
     { "name": "itechpros.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "j4m.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jakemansfield.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jetsadabetchoke77.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jimwoodrealty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jlmunn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "joomlaguru.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -53223,7 +52897,6 @@
     { "name": "lucdethier.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lynxbroker.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "madisonsjewelersorlando.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "maintainyourwebsite.help", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mairimcosmetics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "man-trailer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -53368,7 +53041,6 @@
     { "name": "slothy.win", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slotjava.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slotjava.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "smallcloudsolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smetak.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "socheap.win", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "solidarityzone.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -53516,7 +53188,6 @@
     { "name": "worldclassfriend.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "writestreak.team", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wtfcripto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wum.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "x2ox.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn----7sbbak4cyaoedjf3m.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--betwinnerespaa-2nb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -54093,7 +53764,6 @@
     { "name": "casca.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cashyourcar.sydney", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casinoonlineprova.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cassini.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "castagnola.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "castorio.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "catalog-clothing.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -54211,7 +53881,6 @@
     { "name": "coats-and-jackets.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cobbcountygeorgia.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cockmonkey.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cocservice.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cofradiaqueimada.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coin-group.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coincalc.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -55184,7 +54853,6 @@
     { "name": "ivan-tadej.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ivankuchin.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ivanzorin.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ivjose.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iwatchla.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "izmir-organizasyon.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jabberdog.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -55260,7 +54928,6 @@
     { "name": "karel-dingeldey.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "karel-it.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "karmelava.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "karnage.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "karpets.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "karpo.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kasaysayan.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -55507,7 +55174,6 @@
     { "name": "maaldrift.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "macapflag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "macehead.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "madcs.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "madinina.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "madlandezboard.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "madprod.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -55515,7 +55181,6 @@
     { "name": "mafia-web.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mafiamohaa.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "magdalenatransa.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "magicvaporizers.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "magnetto.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mahabharat.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mahayana.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -55585,7 +55250,6 @@
     { "name": "maxihide.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mcagon.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mcculloughsgolf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mckenna.academy", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mcsidan.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mebelconcept.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mediaareplural.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -57028,7 +56692,6 @@
     { "name": "behanger.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beingmad.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bestnewsmag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bglobal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bikesquadron.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "biologie-seite.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bitlaunch.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -57309,7 +56972,6 @@
     { "name": "gutterdogs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hammered.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hangryum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hartfordschools.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hbsslaw.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hcgallia.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "healthcise.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -57455,7 +57117,6 @@
     { "name": "lodela.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "logdoc.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lojadafloresta.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "londonpods.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lovlyluna.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lpcom.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lucarelli.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -57641,7 +57302,6 @@
     { "name": "rawa-ruska-union-nationale.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rebizzield.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rebonus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "recipegym.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "recyklacekovu.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "redfog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "region6armymars.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -57800,7 +57460,6 @@
     { "name": "thevoga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thinkprocedural.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiffanyblooms.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tilitoimistokota.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "timeswiki.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "topmotoric.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "toptravelgram.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -58261,7 +57920,6 @@
     { "name": "bigthree.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "binoro.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "biochart.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "biogenius.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "biotin24.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "birdsite.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "birobidjan.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -58351,7 +58009,6 @@
     { "name": "camelion.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "campdetarragona.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "canadaclub.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "canadafactcheck.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "canaria.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cangurin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cantaloupe.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -58553,7 +58210,6 @@
     { "name": "dndblog.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dnestr.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "doglist.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dokudu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dollarprofit.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "donwilkssculptor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dotlight.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -58766,7 +58422,6 @@
     { "name": "get-your-business.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "geteducation.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "getshouse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "getyournurse.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ghprinter.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "girlsglimpse.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "globalbusiness.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -59507,7 +59162,6 @@
     { "name": "delftstudy.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dermapaz.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dianaconsultancy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "digitalizzazioneverona.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dillonm.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "discohook.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "djazim.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -59548,7 +59202,6 @@
     { "name": "flashmarkets.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "floridaplasticsurgery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flymsy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fnerk.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fppp.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gamingaktier.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "georgiosnetworks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -59658,7 +59311,6 @@
     { "name": "parcelauditpartners.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "partners4results.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pedrollo-ua.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pelikan.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "physik.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "piasativa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "plancke.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -60164,7 +59816,6 @@
     { "name": "moderneraplumbingandgas.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "montanaonlinedivorce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "morawiecki.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mrjamstore.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "museodeinsectos.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mygobelin.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "n2canada.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -60483,9 +60134,6 @@
     { "name": "agnusbostel.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aipcardio.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aipcardio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aipderm.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aipderm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ajansseo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "akasi.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "akaziya.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "akhbaralam.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -60535,7 +60183,6 @@
     { "name": "anak-pontianak.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anatorywap.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "andersraagaard.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "anian.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anime-and-manga-news.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "annabelmassina.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "annadebrux.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -60766,7 +60413,6 @@
     { "name": "ceetzie.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "celebritypic.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "centralnic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "centralnicregistry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chairtech-yellowpages.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chaos-wg.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chaosprocess.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -60974,7 +60620,6 @@
     { "name": "empresautil.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "endiana.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "endiana.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "engineer.org.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enlightenspeech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enzofardone.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eongame.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -61055,7 +60700,6 @@
     { "name": "foxxylove.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "franceactivetravel.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fratellistomboli.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "frayfitness.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fredbarboo.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fredbarboo.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "free-rein.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -61290,7 +60934,6 @@
     { "name": "irpadafrique.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "isabellzaloof.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "isakow.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "isc2.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iskurturkiye.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iskurturkiye.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "islikimas.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -61483,7 +61126,6 @@
     { "name": "lunite.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "luntadila.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "luukaslindsey.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lyradhealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "m2i-api.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "m9t.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ma110.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -61586,7 +61228,6 @@
     { "name": "movies1977.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mrjunior.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mtbfoodie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mu-sigma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "muafakatmalaysia.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "muafakatmalaysia.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "murciacobras.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -61947,7 +61588,6 @@
     { "name": "ritchieneville.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "riverviewtree.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "riwers.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "robinzorg.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "robot-invest.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rockyourlife.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rodgersawnings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -62529,7 +62169,6 @@
     { "name": "annaluizaferreira.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anniecloth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "antennaweb.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "apnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "appemployees.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apropotv.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apssb.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -63318,7 +62957,6 @@
     { "name": "werkenbijbuvo.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whittle.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whooshkaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wimarsport.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wlcmedical.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "workflowy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "worldcup-odds.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -63371,7 +63009,6 @@
     { "name": "antivigilancia.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aorangi-debt.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "appoggiature.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "appopay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "archeologiegorinchem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arkadiumdesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "armamentevolved.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -63710,7 +63347,6 @@
     { "name": "fibery.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fixedmatch.bet", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fjordtorsk.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "flourishdx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foodafter.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foodagenda.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foodarrow.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -63765,7 +63401,6 @@
     { "name": "georgiacriminaldefense.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "geosno.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "getahearing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "glenmarieproperties.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gmc-mca.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gogo.mn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goldensunmfg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -64102,7 +63737,6 @@
     { "name": "starprime.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "starwarschronology.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "steffko.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "stellar.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stift-kremsmuenster.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stories-event.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stovokzal.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -64654,7 +64288,6 @@
     { "name": "centralspyers.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "centralstor.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ceomonthlyest.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cercidiana.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "certifiedmerchandiseest.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cesenatoday.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chatbo.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -65582,7 +65215,6 @@
     { "name": "messinatoday.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mesutates.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "metrofree.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mfamonitor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mfotel.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "miasma.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "michiganhealth.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -65862,7 +65494,6 @@
     { "name": "rosecoaudit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "royaumesoublies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rusticroadlandscaping.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rxtx.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "s8a.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sachsenlady.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sagegardens.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -66063,7 +65694,6 @@
     { "name": "testecta.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thebabelog.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thehorsesadvocate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "therowdyrose.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thingformatter.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "threethirty.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "top-aanbiedingen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -66785,7 +66415,6 @@
     { "name": "powerbux.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "proglib.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "projectmap.solutions", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "proofofwork.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pulower.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "punat.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "purovive.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -67004,7 +66633,6 @@
     { "name": "akihi.ink", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alexandertechniquenow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amelielei.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "amscrosscomp.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anaelog.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anbigift.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "animedesuga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -67015,7 +66643,6 @@
     { "name": "apirie.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "appac.ltd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arcdesantmarti.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "arcticfox.email", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arimarie.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arimarie.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "astronomygcse.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -67181,7 +66808,6 @@
     { "name": "petmatchmaker.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "photomath.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phsa.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "phytosunaroms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "poimenidou.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "prettycloud.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "projecttalent.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -67862,7 +67488,6 @@
     { "name": "viveremediglia.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "volunteerham.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vshipit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "waistawayuk.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wander.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wapmaster.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "washify.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -67896,7 +67521,6 @@
     { "name": "19216811.mobi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "258management.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "258management.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "3plwow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "3zm-cheats.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "3zm-hacks.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "3zm.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -68051,7 +67675,6 @@
     { "name": "catholicteuchtar.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cccleaner.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ceecosmetic.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ceroresiduo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ceti.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chadslive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chatdrop.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -68159,7 +67782,6 @@
     { "name": "fake.creditcard", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farizstore.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "federation.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fescosales.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fightape.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fightape.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "filmfog.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -68596,7 +68218,6 @@
     { "name": "wbeuil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webprice.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webtele.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "webzest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "werkenbijpromovendum.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "westvirginiahealth.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whaogirls.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -70570,7 +70191,6 @@
     { "name": "retiesebaan.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "retrobook.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "retseptykaboli.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "revellecoaching.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "revengeofthesomething.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "review247.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "revolutionary.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -72233,7 +71853,6 @@
     { "name": "ifmilitaria.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iino-iina.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "immo-les-allees.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "immobilien-schrammek.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "imrafaela.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "indiainvestments.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ivpbot.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -72287,7 +71906,6 @@
     { "name": "librarytapes.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "libreexpresion.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "likhner.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "listkeeper.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lojaskd.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "looxent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lousingchaphu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -72380,7 +71998,6 @@
     { "name": "popularculturegaming.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "portaldocredito.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "prikeshsavla.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "primemotive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "primemotive.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "prinz.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "professionalrakeback.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -72843,7 +72460,6 @@
     { "name": "balatonlelleapartman.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "balbus.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "baldinger.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bambrick.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "banabarka.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bandadestino.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bandbattle.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -73016,7 +72632,6 @@
     { "name": "elpandemonio.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "embryologist.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enefit.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ennova.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "equalone.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "erwinsite.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "escuelacaninalatejera.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -73031,7 +72646,6 @@
     { "name": "filmfestivalflix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "finteo.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "finturio.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "floriebriand.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flowerpassword.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "forbole.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "forsakenplanet.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -73446,7 +73060,6 @@
     { "name": "whalecrew.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whiskydrivers.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wildcruisers.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wir-jugendhilfe.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wixmultimedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "woonplein.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wuellenweber.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -75776,7 +75389,6 @@
     { "name": "brokerlink.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brotwurz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "businessvalue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "canariasport.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casinocity.sb", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casinocity.sl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casinocity.vu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -75845,7 +75457,6 @@
     { "name": "foma.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "format.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "forumrowerowe.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "frandash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fredz.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "freedomworldoutreach.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fruturaproduce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -75936,7 +75547,6 @@
     { "name": "mbrjun.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mddietclinic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mdl.co.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mdswlegal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mernau.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mfanalyzer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "miaadler.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -76229,7 +75839,6 @@
     { "name": "etudes.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "exploreeurope.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fadedave.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "faroutsolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fashionunited.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fashionunited.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fashionunited.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -76454,7 +76063,6 @@
     { "name": "aftamurae.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aga.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agora.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "agri.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ahmetazgin.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airlinelondon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airlinetic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -76503,7 +76111,6 @@
     { "name": "bvlp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "caillou.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "calendriergratuit.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cambriacoveapartments.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "camgirl-info.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carniceriaserrador.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casabitare.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -76610,7 +76217,6 @@
     { "name": "gps4net.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "graphicnab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "greenandgolden.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "greenclouddefense.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "groendakmaker.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "groupsh.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grtc.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -76642,7 +76248,6 @@
     { "name": "jem.style", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "joesniderman.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jotoho.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jsx.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "juicyforum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kaffeluckan.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kamilporembinski.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -76672,7 +76277,6 @@
     { "name": "mandala-porn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "manpro.systems", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "manypets.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "maraboutserieuxhonnete.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "marcossamerson.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "margeriam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "masantefinanciere.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -76747,7 +76351,6 @@
     { "name": "qdm.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qonnected.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quakeroaksfarm.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "quin.md", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quinpro.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "r.sb", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rana.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -76791,7 +76394,6 @@
     { "name": "smithandnephewpensions.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smnz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "snh.nrw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "solutek.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "soso.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sotonlgbt.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spammable.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -76806,7 +76408,6 @@
     { "name": "stekelenburg.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "storyliebe.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "studio-np.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "subilarch.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "suchhunde.wien", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "summitescorts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "supedium.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -77015,7 +76616,6 @@
     { "name": "hrgt.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "humeydi.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hydrometrixtechnologies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hydrosila.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iccupplatoon.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "icekiller.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "immobiliarecolazzo.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -77029,7 +76629,6 @@
     { "name": "jieshangwei.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jinglebugs.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "joesniderman.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "joyas.gt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jucelo.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jugendpresse.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jumpcloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -77473,7 +77072,6 @@
     { "name": "rockfordnetworks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rootsland.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rootsland.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rosetravel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "roszdravnadzor.gov.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ruero.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rxcarbon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -77620,7 +77218,6 @@
     { "name": "dichvuchuyentien247.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dietitiansidehustle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "docmode.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dreamsbythelake.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eatmportal.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eiga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ejkgemist.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -77838,7 +77435,6 @@
     { "name": "bij-juud.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bisq.markets", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bisq.ninja", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "blendessencial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bolehvpn.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bonvorur.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "borntobetogether.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -78041,7 +77637,6 @@
     { "name": "modernx.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "monpanier-procter-et-gamble.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "montagne-experience.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mountainsmokes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mouy-avocat.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mrgstaticcontent.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mruczek.trade", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -78298,7 +77893,6 @@
     { "name": "blaeu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blairtalbotmotors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blissfulsmile.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bodegademuebles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bordercrossingux.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bosquedepalabras.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "boumstudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -78323,7 +77917,6 @@
     { "name": "castagnino.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "catandmoonalchemy.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ccsrv.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cedarrockalliance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cellrg.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "censeo-financial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cfse.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -78595,7 +78188,6 @@
     { "name": "mygolod.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mykirklanddentist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mykitchen.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mysourceofhealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nadir.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nagpurinstar.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nathan2055.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -78634,7 +78226,6 @@
     { "name": "omegamc.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "omezahblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onefinitee.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "oppositehq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oppoweb.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "orchidplantscare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oreomuhely.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -78733,7 +78324,6 @@
     { "name": "siptls.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sitnikov.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sittingwell.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "skoander.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slabserver.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smokeanddram.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "so-spa.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -78832,7 +78422,6 @@
     { "name": "wgi.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whattimedoiwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wholesalegrowersdirect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wickedthings.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "windpay.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winedineunwind.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wolffproperties.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -78900,7 +78489,6 @@
     { "name": "allianceautomation.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "am7000.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "am8900.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ama.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amazon.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amazon.eg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "andreasjanker.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -78972,7 +78560,6 @@
     { "name": "cutme.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cyberdog.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cybermonday.org.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dameisports.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "davidstrickler.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dc-solutions.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dear-olivia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79023,7 +78610,6 @@
     { "name": "fenritec.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ferluxilluminazione.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "filter-kiev.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fischer-programmierung.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "floor3.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fontocean.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fotografiarte.com.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79081,7 +78667,6 @@
     { "name": "jobbnorge.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jointsache.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jpekkala.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kaalberry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kattm.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kerkukvakfi.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "keziah.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79135,14 +78720,12 @@
     { "name": "micled.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "miharu.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "missionskreis-kueps.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mitjafelicijan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mittdolcino.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "miziklakay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mmarising.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "modernrelations.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "modszombies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "moracont.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mostc.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mr1310.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mrwp.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "msscholz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79224,7 +78807,6 @@
     { "name": "roeriverbooks.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rofena.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rotu.pw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rss3.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rwcomerciorepresentacao.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sabba.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sacredheartbath.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79280,7 +78862,6 @@
     { "name": "techie-show.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "technicalmarine.solutions", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tennisnerd.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "testpinoy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "texpresspainting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thebeeyard.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tidlook.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79375,7 +78956,6 @@
     { "name": "3niu771.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "444takip.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "9sw.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "a-better-planet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "a1websitepro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abeilleduhain.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abrecenze.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79506,7 +79086,6 @@
     { "name": "dentistree.in.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "derssonu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "designdecorativ.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "devrekgazetesi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "diagnosingfiction.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digitalcomponents.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dijibot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79532,7 +79111,6 @@
     { "name": "emotality.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "empadaoportugal.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emtex.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "erefredag.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "erinandken.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "erogen.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "essecharlie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79705,7 +79283,6 @@
     { "name": "naacam.org.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nairus.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ne.jo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nea-security.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nearlist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "neossa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nerss.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79821,7 +79398,6 @@
     { "name": "spacenerd.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spandrusyszyn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "speedlearningapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sri.com.pa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "startsafety.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "steamlevelmarket.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stephenbakalian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -79994,7 +79570,6 @@
     { "name": "dressshopboutique.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drfuhrman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drziyayavuz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dukkanacmak.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eclinic.vet", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "edgetechig.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elkonsults.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -80050,7 +79625,6 @@
     { "name": "kakdoma23.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kayisi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kd-23.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kosgebkredisi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kronospsi.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "learnupon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "live.ac.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -80245,7 +79819,6 @@
     { "name": "doccafe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "docsunited.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dodiedods.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dogadayiz.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dreamcatchers-events.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dymond.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dziseldra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -80373,7 +79946,6 @@
     { "name": "mybuddytheplumberparkcity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "naprawa-bazy-danych.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "necronomusick.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "netbasequid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nickfreeman.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nilnasc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nordhealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -80420,7 +79992,6 @@
     { "name": "rotasgastronomicas.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rutas-turisticas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rxcom.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "s3w.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "safesmartvent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "savinglivesatbirth.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sby-tampere.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -80436,7 +80007,6 @@
     { "name": "site-master.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sky-motion.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skypce.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "soax.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spiceislandhome.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "starinsights.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "starprime.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -80567,9 +80137,7 @@
     { "name": "9021.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "9zlatan9.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "a-dish.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "a-pools.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "a11ywatch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aachen-quiz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aarhusinside.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ab-west.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abandoned-zone.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -80697,7 +80265,6 @@
     { "name": "amundi-ca-assurances.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amundi-ee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amundi-tc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "amzinfotech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anachronaeon.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "analytics-media.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anarchie-in-lippe.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -80875,7 +80442,6 @@
     { "name": "balikesireftotoekspertiz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "balloon.gq", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "baltialcoholicos.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "banco.bradesco", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bandmentor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bando.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bangkokflightservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -80938,7 +80504,6 @@
     { "name": "beuty-flowers.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beyer-on-it.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beyond-destiny.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "beyonds.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bezdomny.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bfsasia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bgmontaggi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -81136,7 +80701,6 @@
     { "name": "capitaltruepartner.hk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "capitaltruepartnertechnology.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carballeira.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "carbonopuro.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carcatron.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cardiology.academy", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carescorp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -81198,7 +80762,6 @@
     { "name": "chellescourt.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cherkassy.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cheryltweedy.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cheshirex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chiaseek.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chicas.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chickencentral.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -81422,8 +80985,6 @@
     { "name": "decorluxmuebles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deep-core.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deerlycke.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "defiscan.live", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "delcampomercado.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "delicaclubphils.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "delitefully.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "delkomrockdrill.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -81534,7 +81095,6 @@
     { "name": "downloadapkpure.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "downloadcounter-strike16.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "downtownpdx.dog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dralexisdmd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drata.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "draw-bonus.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dreadfully.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -81571,7 +81131,6 @@
     { "name": "e-wish.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "earthcore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eastcottvets.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "easternsalesinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eastgreenwichnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "easyretro.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "easytfa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -81684,7 +81243,6 @@
     { "name": "ericsilva.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ericvantijn.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eriksen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "es-ramonage.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "escspain.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "escuda.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "escueladeministerioytecnologia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -81749,7 +81307,6 @@
     { "name": "fantasysports.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fapzone.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farescan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "farexpress.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farlezz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farmaceuticainternazionale.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farmasimahaganesha.ac.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -81922,7 +81479,6 @@
     { "name": "fursho.ws", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "furshows.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fusionfactory.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fusionpatrol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "futurefund.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "futuresinmarketing.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "futurity.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -81953,7 +81509,6 @@
     { "name": "gavinbrown.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gayadultwebmasterresources.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gbcomm.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gccfoodstuff.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gcolomboart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gcrm.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "geafworks.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -82256,7 +81811,6 @@
     { "name": "howoldistheinter.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "howtopreventvulnerabilities.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hrajme.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hrejterzy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hrtechnologypro.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hs-hire.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hselectricalservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -82350,7 +81904,6 @@
     { "name": "inmuseworld.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "innerdarkside.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "innermindpsychology.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "innotec.security", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "innovativesportsurfacing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inomics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inpertekshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -82408,7 +81961,6 @@
     { "name": "italianhelper.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "italianweddingmusicians.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "italianweddingvideographers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "italyisbeautiful.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "itoezichtprotocol.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "itsbananas.life", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "itsecrnd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -82422,7 +81974,6 @@
     { "name": "iyspanel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "izana.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "izmirprotestan.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jacov.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jad.so", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jadehairstyle.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jagogame.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -82682,7 +82233,6 @@
     { "name": "legalpro.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "legendtourism.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "legentic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "legitcorp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "legitedeprecy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leicesterastronomicalsociety.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lel.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -83077,13 +82627,11 @@
     { "name": "mylastchapter.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mylisting.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mylittlewallpaper.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mymagazines.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mymoneycoin.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mypeace.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myposters.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myshowbiz.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mysticrealm.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mythiqueamerique.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mytimer.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mytroc.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myworkfromhome.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -83181,7 +82729,6 @@
     { "name": "nodmarcrecord.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "noiseboyz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nojihata.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nomwoning.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "noordbikers.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nopropaganda.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "norbit.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -83356,7 +82903,6 @@
     { "name": "racemanager.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "racetraq.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "racingteameelde.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "radiatorendiscounter.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "radio-beer.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "radioarzua.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "radiomixer.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -83533,7 +83079,6 @@
     { "name": "sanjoweb.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sanktannae-advokater.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sansdict.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sanstyles.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "santamariaretreats.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "santamariaretreats.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "santasofiastereo.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -83868,7 +83413,6 @@
     { "name": "takosuke.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "takysoft.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taleatherworks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "talkbitz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "talkeducation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tallcraft.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tallulahbernard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -83937,7 +83481,6 @@
     { "name": "test4pro.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "testkolik.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tethys.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "texaport.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teztarama.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thaihong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thantra.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -84380,7 +83923,6 @@
     { "name": "workreap.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "worldhomedecoration.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "worldsweet.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "worldviews-debattieren.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wouterkobes.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wp-in.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wp-ninja.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -84580,7 +84122,6 @@
     { "name": "24fair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "24fan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "24gis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "24h.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "24hod.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "24images.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "24meg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -84600,12 +84141,10 @@
     { "name": "2x2x.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "7thcircledesigns.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "97m.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "9ccn.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "9de.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aaa.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ncctouring.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "0x1.st", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "22nd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "27skycake.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "3eyonetim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "404888.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -84632,7 +84171,6 @@
     { "name": "activat3rs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ad-education.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adam.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "adarshthapa.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adc-dentalcare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "addictstore.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adhdsnap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -84715,14 +84253,12 @@
     { "name": "aquilogia-patrimoine.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arboristic.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arhgrille.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ari-web.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arienstocht.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ariesclark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aristidebouix.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arnstein.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artemiy-plus.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artevos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "artsandculturessm.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "asfalti.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "asgard-engineering.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "assegaimedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -84823,8 +84359,6 @@
     { "name": "bigriverintl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bigriverjp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bigriverservs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bigtix.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bikerebel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bilanca.com.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bilkovitinkturi.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "billaud.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -84860,7 +84394,6 @@
     { "name": "boomboomboat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "boostitco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bornbabies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "botika.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bowelcontroltherapy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bowhunter-ahorn.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bp-systems.ovh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -84889,7 +84422,6 @@
     { "name": "buhsantoandre.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "buildingpoint.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bummelwelt.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bungalowseljardin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "burhanionlinestore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "burndyt3.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "burningbooks.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -84954,7 +84486,6 @@
     { "name": "chaletsusi.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "challenge-magazine.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chandracenter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "checkr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cheers.bio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chengmach.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chesapeakeopticallab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85213,7 +84744,6 @@
     { "name": "einwie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eivanec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eks.news", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "elarcoreu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "electronsweatshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "electroyclima.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elektrotechniker-beck.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85291,7 +84821,6 @@
     { "name": "fabulousfarmgirl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "faceup.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fakeout.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fallfishtenkara.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fandt.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fantasea.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fantinishop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85374,7 +84903,6 @@
     { "name": "fusico.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fusico.digital", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "futureleaderawards.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fw-einsatz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fyllingen-elinst.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gachea.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "galwaytooughterardgreenway.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85390,7 +84918,6 @@
     { "name": "gastrodino.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gauting.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gdwservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gearsupply.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "geckos-geocaching.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gemawardian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "geneacdn.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85439,7 +84966,6 @@
     { "name": "greenpeace.community", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "greensmartplanet.com.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "greensmartplanet.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gridironelitetraining.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grissianerhof.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grm.com.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "groepper-it.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85456,7 +84982,6 @@
     { "name": "h2ole.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hafling.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hakama-sendai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "halimjr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "halkakoop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "halloffameapartments.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hanhardt.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85694,7 +85219,6 @@
     { "name": "keithstaxis.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kemono.party", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "keritial.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kerryconsulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kescher.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "keschi.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kevinloganelectrical.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85729,7 +85253,6 @@
     { "name": "kinaesthetics.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kinaesthetics.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kinaesthetik-verein.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kistenmacher.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kitsplumbingandheating.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kjall.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kleuro.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85757,10 +85280,8 @@
     { "name": "kubeofficebooth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kucukcekmececilingir.gen.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kuma-it.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kungsangen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kustus.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kvasta.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kwalifikacje.gov.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kylacoin.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kylvaja.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kymcojp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -85785,7 +85306,6 @@
     { "name": "laurenell.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lava.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "laviaregia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "leadinforce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leadsonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "learnpedestal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ledigajobb.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -86312,7 +85832,6 @@
     { "name": "phungwit.ac.th", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "physiciansopticalservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "physicsforums.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "physiotherapie-concept.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phytoreponse.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pianodisco.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pianoguy.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -86383,7 +85902,6 @@
     { "name": "polymax.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "polypharma90.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "polyring.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pomilo.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pomogi-mne.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pongplace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ponteggi.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -86516,7 +86034,6 @@
     { "name": "redknothomes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "redragon.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "redshop.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "redtorchginger.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "redvent.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reezocar.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reezocar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -86806,7 +86323,6 @@
     { "name": "taylorfry.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tblflip.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tboxfit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tbwa.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "team3.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teamvite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tecfix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -86831,7 +86347,6 @@
     { "name": "textura.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tg2sclient.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tgcfabian.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "thaibizsingapore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thalamus.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thammachartconnect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thatmy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -86986,13 +86501,11 @@
     { "name": "wackerton.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wahl-co.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wallartista.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wallers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "warhut.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wasistderunterschied.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "watchporninpublic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "waterdropcultureproject.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "watersports.guru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "weareflo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webbgro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webbureauer.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webdig.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -87216,8 +86729,6 @@
     { "name": "angkapaito.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aniababan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "antikvariat22.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "antoinelounis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "antoinelounis.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anya-carter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apostasonline.guru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "appsoda.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -87404,10 +86915,8 @@
     { "name": "enjoymaloy.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "epilier.uz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eplus.group", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ericaftereric.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "esicia.rw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "essr.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "etsmarconi.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "europeontrack.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "evermed.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "exact-distribution.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -87525,7 +87034,6 @@
     { "name": "hotelcarril.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hotelsthisweekend.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "houstonmethodist.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "huabianwa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "huehnerartikel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "huggy.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hymn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -87772,7 +87280,6 @@
     { "name": "penrite.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pepe.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "perdele-draperii.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pergamo.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "persianrom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "petlindo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "petroom.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -87809,7 +87316,6 @@
     { "name": "qdsgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qiwi.cash", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qontinuum.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "qualityplusconsulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qubitechbd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quermes.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "r-gmp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -87902,7 +87408,6 @@
     { "name": "skyscanner.co.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sloepverhuur-roggebroek.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sluderno.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "smallplanet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smartagilesolution.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smyrilline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "snacktakos.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -87970,7 +87475,6 @@
     { "name": "thenewsmill.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thenextweb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thinkaheadcomix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "thise.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thongnhat.com.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "threadingcentral.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "threatint.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88016,7 +87520,6 @@
     { "name": "villa-ottone.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vinci-archipel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vinci-vie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vinci-vie.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vinci-vie.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vinci.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vinci.lu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88036,7 +87539,6 @@
     { "name": "wartalika.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wazuh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wealthadvisorstrust.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "webandsun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webringpeopletogether.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wellness-alto-adige.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wellness-spa-suedtirol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88113,8 +87615,6 @@
     { "name": "akarisoftware.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "allbs.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aloop.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "alt-til-windows.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "analyzepoker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "animari.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "animari.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "animari.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88125,17 +87625,13 @@
     { "name": "aspireappliances.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "astaraday.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "astralrank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "atgresultat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aufildemesidees.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "autorecoveryandtowing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avenge.pet", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avengepet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "avisoversigten.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avt-ukraine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bank-laan.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bav.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "because.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bedstecasinobonusser.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bellcomp.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "berete.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bevcrushesit.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88156,7 +87652,6 @@
     { "name": "camella.com.ph", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carbonswap.finance", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "caribbean-tekton.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "casino-apps.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cbpridecenter.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cgo-it.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chartpixel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88174,7 +87669,6 @@
     { "name": "codehupy.org.py", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coffeemakemachines.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "comparecars.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "confirmit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "copyhandler.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "covercupboard.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "crankshaft.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88189,7 +87683,6 @@
     { "name": "dentsimplant.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dicomsoftware.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dlmeto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "doublebass-solo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "draknet.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dsanborndesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "duoduocha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88205,7 +87698,6 @@
     { "name": "enchantedcode.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "endrinas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "energysystems.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "erhvervsposten.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "escoladejudo.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "escolanacionaldejudo.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "espirituracer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88232,7 +87724,6 @@
     { "name": "futurewithoutfear.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "futurewithoutfear.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "futurewithoutfear.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "g2oh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "galapagos.cx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gammaknife.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gardensofelegance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88271,7 +87762,6 @@
     { "name": "http418.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "htzopremasrbija.co.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ibarakisenkyohikaku.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "igamingnyheder.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ignaciolacruz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "impeka.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ineight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88297,7 +87787,6 @@
     { "name": "kauper.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kiwi.ki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kksg-sulzbach.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "klikket.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kodigo.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "koncertomania.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "krtl.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88305,21 +87794,17 @@
     { "name": "kvetuvplotu.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "labordude.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lamminhquang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "laptopworld.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lasvegasdiscountattractions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lemoniax.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "level4.parts", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "litemere.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "logopedietaalrijk.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lolo17.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "loveitclickitbuyit.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "madskristensen.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mangadex.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "marikekinze.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mdaemon.tips", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "medibis.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "metlifestore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mew.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "milkbarncreamery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mindblown.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "minervabi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88336,7 +87821,6 @@
     { "name": "naturart.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nchrd.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netkimonos.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "netstjernen.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "neumanncontractors.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newyorkdiscountattractions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nhcps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88351,7 +87835,6 @@
     { "name": "nrj-plomberie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nrvn.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nycgastroenterologists.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nycpac.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oekokiste-ingolstadt.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oitaven.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onilacare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88376,7 +87859,6 @@
     { "name": "plagu.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "plandy.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "platnik.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pokernyheder.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pondsama.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "poppersareus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "powersergwiring.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88407,14 +87889,12 @@
     { "name": "sfcityoption.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sg-strietwald.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shakerventures.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sikkerwindows.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "singen.icu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sjs.org.hk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skhuf.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sli.do", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slideshare.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smarty.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "snorgtees.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "soda-net.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "solutions-ii.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "solutysmultiservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88424,7 +87904,6 @@
     { "name": "stillwhite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stillwhite.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "strietwaelder-blaettche.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "studiedeals.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sut-b.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sw-s.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "swatch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88864,7 +88343,6 @@
     { "name": "cryptenet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cse-uniserve.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "csw.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cuppen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cuppen.marketing", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cuppen.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cuppen.support", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -88958,7 +88436,6 @@
     { "name": "exotic.report", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "exploreit.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eyecare-center.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fairchildfun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fairchildfun.marketing", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fairchildfun.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fallens-home.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89101,7 +88578,6 @@
     { "name": "masite.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mastodonperu.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mbrental.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mccarthystonefoundation.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mccsquantico.marketing", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mcdonalds.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mcescher.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89130,7 +88606,6 @@
     { "name": "myhurlburt.marketing", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myinvisibleknapsack.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mymovein.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mysurfhostel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myunraid.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nafhroaviano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "napervilleweather.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89165,7 +88640,6 @@
     { "name": "offer.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "official.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oktoplus.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "online-learning.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "opid.my.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "optimizer.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "orendatattoo.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89196,7 +88670,6 @@
     { "name": "proacksecurity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "proantab.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "proton.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "psii.global", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pxq1.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quande.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quanquan.com.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89218,7 +88691,6 @@
     { "name": "ryancmassey.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saisao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sallyheerenveen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "salon-yuan.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "samsunghalfmarathon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "samudranesia.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "san0j.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89381,7 +88853,6 @@
     { "name": "6f.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "6i.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "8l.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "970locksmithservices.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "995.com.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "9l.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "a.ac", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89476,7 +88947,6 @@
     { "name": "atisoft.name.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "atisoftseo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "atlasuno.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "atresclick.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aura.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "auteldesbrumes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "autosalone.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89501,7 +88971,6 @@
     { "name": "bbwhale.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bcbudonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bcgefatap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "beagleboard.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beatsnbits.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "belk.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bellenundballern.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89598,7 +89067,6 @@
     { "name": "coggeshall.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "collinlove.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "collinsdictionary.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "colmadord.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "colorado-locksmith.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "comaporter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "comistar.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89668,7 +89136,6 @@
     { "name": "dilmahtea.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dineniagara.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "discovery-ls.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "distrust.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "djoiasoficial.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "djtime.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dm6.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89888,7 +89355,6 @@
     { "name": "jamonesrute.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "japonskonamiru.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jasonreadinglandscapes.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jasonthai.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jbcharlestonfss.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jbmechanics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jekadvantage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -89903,7 +89369,6 @@
     { "name": "josueteconecta.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jpedia-ariege.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jrtransportedemotos.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "json.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "juliakieser.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jurena.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jvmcomunicacao.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -90012,7 +89477,6 @@
     { "name": "mi.sc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "miartwalk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "michaeldjoseph.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "michaelholidaybooks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "microchains.network", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mielke-it.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mignonne.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -90025,7 +89489,6 @@
     { "name": "mirmax.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "missmeydan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mixingnightaudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mjbeventspr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mlk.sd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mobilesignalsolutions.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mobiletop.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -90066,7 +89529,6 @@
     { "name": "ne-games.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ne.ax", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nearestbusiness.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "neoone.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netco-privacy.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netleaf.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nets.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -90241,7 +89703,6 @@
     { "name": "siemplifyg.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "silentartifact.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "silverwaregames.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sirhempco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sjouke.dedyn.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skhosting.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sklepjacobs.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -90379,7 +89840,6 @@
     { "name": "vastgoedfaculteit.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "veli.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "venti.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "venus-football-giveaway.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ver.re", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "veri2.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vetreria.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -90440,8 +89900,6 @@
     { "name": "zanreal.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zbrsk.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zelandnamiru.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "zfj.la", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "zfj.lu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ziz.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zoedijital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zohditech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -90709,7 +90167,6 @@
     { "name": "hiitrepublic.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hipuranyhou.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "histalek.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hmka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hockingfamily.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hoejetaastrupprovsti.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hoh.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91003,7 +90460,6 @@
     { "name": "twittpr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "twoninersix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tybox.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "u-watch.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uat-indego.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ublobs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ubuntu.marketing", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91106,7 +90562,6 @@
     { "name": "boisebirthdoula.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bpsdev.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brandarkitekt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "brehoni.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brmnn.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bruechner.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bs2k.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91279,7 +90734,6 @@
     { "name": "rineke.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rodrigosalascolque.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "roobet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "royaume-des-chats.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rrmac.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rucinski.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rucinski.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91311,7 +90765,6 @@
     { "name": "singaporecriminaldefencelawyer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sirfaustobrasil.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sisap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sjrslms.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skiff.town", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slinkwa.re", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sns.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91343,7 +90796,6 @@
     { "name": "teamcollins.org.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tembusulaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thecommunitymakers.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "thecurvyrentalboutique.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "themathergroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thetrulycharming.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thinkfortune.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91361,7 +90813,6 @@
     { "name": "ultrarare.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "universe.la", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "universe.wtf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "uopeople.reviews", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "venegreco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vibioh.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vicrea.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91382,7 +90833,6 @@
     { "name": "wilhelm-sattler-realschule.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winezja.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wpsitesuccess.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wvdn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--80aacgbiy5akmx.xn--e1a4c", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yamaken.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yangxi.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91451,7 +90901,6 @@
     { "name": "bellevilleboot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "benefeds.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "benprisby.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "billview.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bloemendaalsamen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bluestarbus.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blw-eschwege.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91510,7 +90959,6 @@
     { "name": "dyreplassen.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "e-guvence.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ecozip.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "effectory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elderdevelopmentgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elliottwoodworking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emailing.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91718,7 +91166,6 @@
     { "name": "szalaiterko.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tactile.love", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tahitiodoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tanhongit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teamsakura.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "terramineira.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tetweb.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91736,7 +91183,6 @@
     { "name": "trusthub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tsacasa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tsra.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tsv-hittfeld.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tugadar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tutorsploit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tyrasuki.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91793,7 +91239,6 @@
     { "name": "academiacomercialalpina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "acpny.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "action.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "actzero.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "addownit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adulteducation.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aeradoresgaivota.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91860,8 +91305,6 @@
     { "name": "biigtigconsulting.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bioreference.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bitdefender.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "blackheartbar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bloomberglp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blorbo.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bluegolf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bluejeans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91876,7 +91319,6 @@
     { "name": "builtinboston.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "builtinla.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bullfrogpooltilecleaning.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "businessinsider.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "calendarinspiration.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "callbell.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "canadapost-postescanada.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91944,14 +91386,12 @@
     { "name": "deckshop.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "decor-essentials.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deeds.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "deephousex.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "defence.pk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deimos.ws", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "delavska-hranilnica.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "delavska.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "demeubelmakelaar.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "derivative-calculator.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "destinypedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "destock-poitou.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "devalbert.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dfpg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -91986,7 +91426,6 @@
     { "name": "electroschematics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eletom.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eliotchs.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "elvtr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emechternach.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emlcloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emporioguarani.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92023,7 +91462,6 @@
     { "name": "fontsinuse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foodo.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "formsite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "forwardadvantage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fox47news.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fox4now.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fpcdn.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92058,7 +91496,6 @@
     { "name": "goodcas.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goodcas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gotravel.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gpnotebook.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gps-coordinates.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grafana.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grundschulratgeber.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92094,7 +91531,6 @@
     { "name": "ibk.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ihonk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iks.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ilmanifesto.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "imagetostl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "imaginethatevent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "impact.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92230,7 +91666,6 @@
     { "name": "nc3rs.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nceahelp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nederlandmobiel.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "needmytranscript.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nelsonworldwide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nema.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "neocirc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92277,7 +91712,6 @@
     { "name": "passivebook.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "passportunlimited.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "payfit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "payproglobal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pband.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pbbm.com.ph", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pcrobot.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92286,7 +91720,6 @@
     { "name": "peanutbutter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "peerview.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "people.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "people.deloitte", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "perennialwomens.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pesterchum.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "petyolo.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92414,7 +91847,6 @@
     { "name": "svportalframe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "swedbank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sweet64.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sydneyvangelder.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "syska.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "t3concrete.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tadaimajp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92709,7 +92141,6 @@
     { "name": "genesis-a-fresh-translation-from-hebrew-to-english.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "genesis-herbs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ggb.world", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ghgt.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "givery.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gripopit.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "groove3.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92726,7 +92157,6 @@
     { "name": "heavensolutions.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "heavyhymnal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "heldmayer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hiru.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hobby-lover.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hostidn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hotnews-today.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92768,7 +92198,6 @@
     { "name": "lafraia.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "latinapress.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leamastech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lecrayondemarz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "legalit.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lenumerozero.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "levitatingx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92781,7 +92210,6 @@
     { "name": "maherhost.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mail.cx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mailer-olivea.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "markettailor.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "marmitethegreyhound.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "marplo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mars-infos.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92857,7 +92285,6 @@
     { "name": "pursuit-relax.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qeepitsafe.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rachelandadamarethebest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "radarstationery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ramsay.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ravkavonline.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rbbuae.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92931,8 +92358,6 @@
     { "name": "touchfromtheheartmassagetherapyandreflexology.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "touhidur.studio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trveled.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "udp.pw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ultimatefxtools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unixgeeks.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vackradetaljer.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vbanu.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -92952,7 +92377,6 @@
     { "name": "wirkstatt-lq.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wisertp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "withheld.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "woldars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "woodandshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "workhorsemkt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xduce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93078,7 +92502,6 @@
     { "name": "alancolephotography.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "albertovr.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "albinonderdelen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "alega.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alex-werbung.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alexmathews.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alfa-pack.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93162,7 +92585,6 @@
     { "name": "bertgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bertusengelbrecht.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bggcapital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bhtechconnection.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bilderrahmen-baer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bilderrahmen-schluechtern-sinntal.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "billchen.win", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93296,17 +92718,14 @@
     { "name": "danielcardoso.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "danielh.codes", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daseinsfreu.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dasler.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "datasunrise.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dawnlydialnyc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dcnews.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ddf.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deepl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "demascotas.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "demorgen.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dengjunhui.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "denisdftnewyorklife.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "depiratas.com.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deratisation.maison", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "derpteam.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dev-woenenn-node-server.herokuapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93351,7 +92770,6 @@
     { "name": "efootball4u.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "egos-online.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ekospajzka.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "elanza.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elhuesero.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eliteimsolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elrefugiodelpirata.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93430,7 +92848,6 @@
     { "name": "generiscorp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "georgex.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "getlawsinfo.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gg.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ghcma.vic.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "giacomodebidda.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gites-melaual.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93448,7 +92865,6 @@
     { "name": "gradinitasamariteanulcluj.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "graeskmad.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grahamfamilydentalwy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "grandiscontionline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "graphql-on-aws-appsync-book.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gratefulwanderertravel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "graymuzzlesociety.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93459,7 +92875,6 @@
     { "name": "gridfuse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "groupeleven.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gsd.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gslate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gtk-tim.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gustaveeiffel-arruda.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "guttergurugeelong.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93507,14 +92922,12 @@
     { "name": "ikarus-itkurs.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ilgazhaliyikama.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "illinitechservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "imaginebelfast.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "indamail.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "indicure.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "industrydecarbonization.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "infinitycleaningsolutionsfl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "infopercept.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "initiative20x20.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "inmobiliariamarino.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "innisfildental.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "insa.or.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inter-design.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93544,7 +92957,6 @@
     { "name": "jialiangkang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jibe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jibeapply.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jiminny.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jirehlov.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jl-k.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jobcorps.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93561,7 +92973,6 @@
     { "name": "kameryzababku.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kasinopartio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kaskadee.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "katycollection.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kcucs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kdoslavi.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "keishicho-mirai-method.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93612,7 +93023,6 @@
     { "name": "liukang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "liups.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "livepornguide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lm-architecture.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "locadoraequiloc.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lognetjobs.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "logydice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93648,7 +93058,6 @@
     { "name": "marienoellegendron.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "markmorris.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "masfloss.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "matco.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "material-ui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "matthewoliver.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "matureporn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93671,11 +93080,9 @@
     { "name": "mgfgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "miaairportvillas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mijnafspraak.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "milesconstruction.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "milosguide.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mimoesthetic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "minxmine.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "misjoyas.com.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mit.edu.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mitrausahagoto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mladypodnikatel.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93741,7 +93148,6 @@
     { "name": "operatoresanitario.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "opnay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "opportunity.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "optikoscolombia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "optionskredit.ag", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "optionskredit.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "optionskredit.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93798,7 +93204,6 @@
     { "name": "portiva.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "powerseo.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pradyumnashome.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "prefect.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pressurewashersandiego.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "primetouchimprovements.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "primrosehillvets.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93824,7 +93229,6 @@
     { "name": "queerdelta.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "query.gov.ps", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quiq-in.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "qxazusa.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "racquetdepot.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rafix.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rahil-p.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -93914,7 +93318,6 @@
     { "name": "sidas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "siega.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sifnosguide.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "signaldp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "silbox.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "simonparrillaorlando.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "simpelkredit.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94137,12 +93540,10 @@
     { "name": "yueeeyueee.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yuriylysyuk.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zahnarztpraxis-schaerding.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "zapatilla.com.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zasekafe.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zatepli.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zdeneklavicky.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zecanard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "zenlinez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zgw.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zhangjing.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zhujike.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94374,7 +93775,6 @@
     { "name": "3dzip.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "3ieimpact.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "3q.video", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "404.blue", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "42gears.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "42matters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4chan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94392,7 +93792,6 @@
     { "name": "5msh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "5sfer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "66mmav.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "67wine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "7-zip.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "700creditsolution.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "700dealer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94422,7 +93821,6 @@
     { "name": "aaahosting70.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aalaslearninglibrary.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aaliyahclothing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aamva.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aappb.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aau.edu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abacus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94525,7 +93923,6 @@
     { "name": "aff1xstavka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aff1xstavka.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "affiliates-psychicsource.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "affinipay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "affinity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "affinitycu.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "affpa.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94576,7 +93973,6 @@
     { "name": "airlinesfleet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airmap.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airscorp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "airtame.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aither.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aiwo.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aiwriterx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94700,7 +94096,6 @@
     { "name": "americanfreight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "americaninsuranceplus.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "americanmessaging.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "americanrag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amoc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amorszexshop.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amp-wp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94856,7 +94251,6 @@
     { "name": "aries.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arij.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arkforum.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "arlingtonlibrary.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "armand-colin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "armaplatform.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arms-expo.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94894,10 +94288,8 @@
     { "name": "aso.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "assai.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "assecuro.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "assemblyai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "assens.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "assicurare.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "assignmenthelponline.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "assmgp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "assr-online.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "assurances-brg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -94941,7 +94333,6 @@
     { "name": "atworktechnology.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aubtu.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "auction.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "audencia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "audifs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "audio-extractor.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "audio-joiner.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95036,7 +94427,6 @@
     { "name": "baleinesendirect.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "balldurham.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "balneariodearchena.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "baltoe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "baluarte.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bancoagricola.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bandidosmc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95119,7 +94509,6 @@
     { "name": "benhammoutex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "benify.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "benify.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bentallgreenoak.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bentoncountyar.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "benuapotheek.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bepick.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95185,7 +94574,6 @@
     { "name": "betzgmbh.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "betzwhite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beutner.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "beverlyhospital.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bevestor.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bewerbung.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beyond.lk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95213,7 +94601,6 @@
     { "name": "bigbrother.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bigbuild.vic.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bigcedar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bigid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bignaturals.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bigtitsmilf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bigtitsporn.pics", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95325,7 +94712,6 @@
     { "name": "bkparimatch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bkpm.tj", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blackarch.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "blackbeltmag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blackcoffee.website", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blackmaleme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blackmesa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95429,7 +94815,6 @@
     { "name": "brloh.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "broadfoundation.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "broadwaytravel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "brobank.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "broedersvanliefde.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brokenships.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brokernews.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95459,7 +94844,6 @@
     { "name": "buddy.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "budget.gouv.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "budget.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "budgetlinemarking.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "budpop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "buenavistawinery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "buffalonews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95484,7 +94868,6 @@
     { "name": "burningseries.sx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "burningseries.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "burtsbees.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "business-swiss.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "business.vic.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "businesscutter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "businessleader.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95585,7 +94968,6 @@
     { "name": "carprice.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carproof.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carre.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "carrefour.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carsurance.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carterjonas.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cartoontube69.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95601,7 +94983,6 @@
     { "name": "cashper.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casino-r.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casino.guide", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "casinobonus360.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casinohex.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casinohex.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casinohex.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95735,12 +95116,10 @@
     { "name": "chuckecheese.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chulinkuei.org.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "churchm.ag", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "churchsuite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ci.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cialisisa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cialismen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cialisrmed.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cicybell.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cigotracker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cihr-irsc.gc.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cilipa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95750,7 +95129,6 @@
     { "name": "cioxhealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cirro.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cirurgicasaopaulo.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cisabroad.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ciscobrewers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "citizenpatriotresponse.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "citizentruth.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95780,7 +95158,6 @@
     { "name": "clickfreescore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clickhyundai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clientify.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "clientpay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clientportal.photo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clintonsavings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clippingartsindia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95941,7 +95318,6 @@
     { "name": "couponfollow.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "couponzil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "course24h.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "course5i.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coursesanswer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "courthousedirect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cove.chat", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95949,8 +95325,6 @@
     { "name": "coveteur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "covidactnow.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "covidservicepoint.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "coyocloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cpacharge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cpd.org.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cr3zyblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cracedkey.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -95965,7 +95339,6 @@
     { "name": "crackspro.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "crackzoom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cradleofaviation.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "craignewmarkphilanthropies.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cratexedm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "crazysexpics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "crealabs.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96003,7 +95376,6 @@
     { "name": "crowdfiber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "crownbingo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "crsngthsswthy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "crunchi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "crunchybetty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cryptitan.live", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cryptodredge.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96039,7 +95411,6 @@
     { "name": "cumfiesta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cureyou.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "curio.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "curtisint.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "custify.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "customeessay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "customercontactweekdigital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96060,7 +95431,6 @@
     { "name": "cz.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daann-wch.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daaxit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "daily-solution.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dailyddt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dailydodge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dailyfly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96071,7 +95441,6 @@
     { "name": "dailymedicalinfo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dairylandexpress.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daixiewang.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "daiyafoods.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "damag.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dan-news.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "danduran.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96080,7 +95449,6 @@
     { "name": "daniellesteel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "danishbytes.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "danke.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "danonenorthamerica.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "danskemedier.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "danthecloudman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "danzenyogadaycare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96142,7 +95510,6 @@
     { "name": "deciso.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dedoho.pw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deeezy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "deepersonar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deepid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "defectivebydesign.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "defenceiq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96191,7 +95558,6 @@
     { "name": "dfactory.co.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dg-hyp.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dg-hyp.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dgap.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dghyp-immobrief.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dghyp.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dghyp.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96233,7 +95599,6 @@
     { "name": "dimitri-papadimitriou.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dimitri-papadimitriou.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dimitri-papadimitriou.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dimmak.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dimonz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dinarys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dinira-bg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96257,7 +95622,6 @@
     { "name": "disabilitybeacon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "disabilityscoop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "discgolf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "discinsights.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "discountpowertx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "discoverglo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "discovernavajo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96268,7 +95632,6 @@
     { "name": "divicar.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "divigear.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "diy-kitchens.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "diysolarforum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "djav.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dkma.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dlcompare.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96456,8 +95819,6 @@
     { "name": "eduzaurus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eemskrant.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eetimestv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "efectococuyo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "efi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "efiglobal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "efirma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "egestor.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96595,7 +95956,6 @@
     { "name": "espiv.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "espivblogs.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "espritgames.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "essaykeeper.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "essayservices.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "essaywritercpl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "essentialoils.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96652,7 +96012,6 @@
     { "name": "exipure.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "expart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "expatexplore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "expectful.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "expediapartnersolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "expediteplus-asia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "expediteplus.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96681,7 +96040,6 @@
     { "name": "eylog.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ezeviral.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ezochat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ezprints.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ezwebsearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ezwin789.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "f45challenge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96718,7 +96076,6 @@
     { "name": "fappeningthots.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farenheit.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farmscbdoil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "farnboroughairshow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "faro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farouk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fashionactivation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96732,7 +96089,6 @@
     { "name": "fastestknowntime.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fastscanapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fatassbooty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fate-srd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fatpussytube.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "faulhaber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fbmedia-ckl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96808,11 +96164,9 @@
     { "name": "fischerca.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fischersports.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fishbrain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fishdeeper.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fitculator.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fitnessbond.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fitnur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fiu.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fixerra.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fixpart.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fkbae.to", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96840,7 +96194,6 @@
     { "name": "floridarrc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "floridasturnpike.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flowhcm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "flowhub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flowingdata.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "floydsofleadville.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flvs.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96852,7 +96205,6 @@
     { "name": "fnacdarty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fnbofks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fno.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fnz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "focus2move.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fok.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foldertips.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96894,10 +96246,8 @@
     { "name": "forumsaudedigital.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foulabook.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foundagrave.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "foundationmedicine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foundationprogramme.nhs.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foundries.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fourpeaks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fourseasons.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fox13now.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fox17online.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -96962,7 +96312,6 @@
     { "name": "frfghtr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frfi.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frontierbundles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "frontierclimate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frostplatform.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frsecure.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frugalfamily.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97015,7 +96364,6 @@
     { "name": "gamerankings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gamesrar.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gammaboxtech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ganneff.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gannett-cdn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "garco.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "garrettpopcorn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97100,16 +96448,12 @@
     { "name": "givecfc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "givelab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "givemeyourtenders.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "givingassistant.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "givingpledge.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "givostore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gkb2.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gkrru4v.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gladiator.tf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "glami.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "glamourandgains.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "glance.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "glasgowfilm.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "glasgowlife.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "glatfelter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "glavny-yurist.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97219,7 +96563,6 @@
     { "name": "gunvaluesboard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gurugamer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gurupendidikan.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gust.edu.kw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gustavoleiloeiro.lel.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gvh.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gymnasticbodies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97246,7 +96589,6 @@
     { "name": "haitangsoushu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hakurei.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hallmarkbusiness.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "halopedia.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hamibot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hamkorbank.uz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "handelsbanken.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97265,7 +96607,6 @@
     { "name": "harianjogja.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "harleysvillegroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "harmony.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "harno.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "harpersbazaar.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "harryanddavid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hartslagnu.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97402,7 +96743,6 @@
     { "name": "hoerspielbox.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hofbraeu-muenchen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hoka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hollandskroon.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hollmann.international", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hollywoodbios.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "holo.host", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97614,7 +96954,6 @@
     { "name": "incorporatedstyle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "increment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "incresermaster.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "incyte.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "independent-bank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "independenttribune.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "indianacareerconnect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97647,7 +96986,6 @@
     { "name": "ing.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inges-kattehjem.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inilabs.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "inkbeau.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inovalon.global", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "insancendekiams.sch.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inscriu.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97686,10 +97024,8 @@
     { "name": "internalportal.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "international.expert", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "internationaldelight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "internationalepolitik.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "internetpasoapaso.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "internist.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "interplex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "interseguro.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "interspar.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "intersport.com.kw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97952,7 +97288,6 @@
     { "name": "ketchcdn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "keypublishing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "keys.casa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "keystoimagination.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kfanhub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kgun9.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "khaledalsabt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -97960,7 +97295,6 @@
     { "name": "khatoco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "khatrimaza99.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "khda.gov.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "khwiki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kiacatherine.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kickico.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kidcentraltn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98120,7 +97454,6 @@
     { "name": "lawandtheworkplace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lawdepot.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lawma.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lawpay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lawtimesnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lbwl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ldemb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98145,7 +97478,6 @@
     { "name": "lebkuchen-schmidt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leblob.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lecourriercauchois.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lecteurs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lectormanga.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lecturenotes.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lee.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98172,7 +97504,6 @@
     { "name": "leonardodrs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lesbea.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leschamoisduvercors.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lescrieursduweb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lesequinoxes.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lesershop24.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leshop.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98401,7 +97732,6 @@
     { "name": "maison-et-domotique.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "maiweave.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "majalahponsel.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "majestic-files.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "majestic-rp.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "majestic.games", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "majorhifi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98520,7 +97850,6 @@
     { "name": "mcdowellnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mcdpromotion.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mch2022.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mci.gov.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mcleodgaming.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "md-1xbet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mdgx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98557,7 +97886,6 @@
     { "name": "meirifuli6.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "meisterplan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "meisterplan.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "melaniatrump.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "melbet-sp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "melbet27.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "melbetaffiliates.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98612,7 +97940,6 @@
     { "name": "microworkers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "midrra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "midwife360.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mifirm.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mikanakashima.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mikaraw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "miku-doujin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98624,7 +97951,6 @@
     { "name": "milfmoms.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "milfsection.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "militaria.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "milkwoodrestaurant.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "milkyperu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "milkywan.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "millerandfasselaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98636,7 +97962,6 @@
     { "name": "mindprod.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mindrnd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mindstream.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "minecraften.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "minefort.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "minestore.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mingle2.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98744,7 +98069,6 @@
     { "name": "motherlondon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "motional.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "motiva.health", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "motonline.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "motorline.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "motorsactu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mountainroadschool.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98773,7 +98097,6 @@
     { "name": "msyndicate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mtel.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mthigh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mti.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mtstandard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mu-test.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "muj-sejf.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98812,7 +98135,6 @@
     { "name": "myanmar.gov.mm", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myareaf2a.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myarticles.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mybank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mybigplunge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mybrb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mycandylove.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98841,7 +98163,6 @@
     { "name": "mysafeway.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mysavvastraining.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myschool.edu.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "myschools.nyc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myservices.digital", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mysmartserve.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mystrength.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98904,7 +98225,6 @@
     { "name": "nava.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "navajocountyaz.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nayapay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nayatel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nbc26.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nbf.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nbx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -98941,7 +98261,6 @@
     { "name": "net-box.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netchost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netcitadel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "netcorecloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netdnstrace1.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netdox.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netherite.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99078,7 +98397,6 @@
     { "name": "nudetits.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nudetube.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nudoleaks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nuhs.edu.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nuls.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "numbots.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "numerix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99120,7 +98438,6 @@
     { "name": "offgamers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "officemoves.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "official.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "officinegenerale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "offshoredaddy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "offworld.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ofina.on.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99135,7 +98452,6 @@
     { "name": "okosg.kr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "okproductkey.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oksystem.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "okwine.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ola.finance", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "olamagri.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "olamgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99156,7 +98472,6 @@
     { "name": "onbley.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oncc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ondafc.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "onderzoeksraad.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oneandfree.org.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oneapi.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oneblinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99185,7 +98500,6 @@
     { "name": "onlineairlinesbooking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onlinebewerbungsserver.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onlinebseb.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "onlinecasino61.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onlinecasinohex.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onlinecasinohex.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onlinecomponents.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99217,7 +98531,6 @@
     { "name": "openintl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "openlink.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "openmandriva.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "openmined.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "openpowerfoundation.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "openremote.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "opensocial.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99251,7 +98564,6 @@
     { "name": "ortecapps-dev.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ortecbdp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ortecdna.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ortto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "osakayuku.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "osb-alliance.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "osk-group.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99288,7 +98600,6 @@
     { "name": "pacificblue.software", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pacifico.com.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "packetfabric.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "padangkita.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pagalnew.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pagalworld.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pagiamtzis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99347,7 +98658,6 @@
     { "name": "parimatchtop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "paripesa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "paripesa.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "parissportifs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "parkable.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "parkmycloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "parkseed.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99488,12 +98798,9 @@
     { "name": "pigsforsale.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pii-protect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pikaramagazine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pikminwiki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pilar.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pilatus-aircraft.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pillbanana.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pilseta24.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pinecone.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pinegraph.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pinesol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pininfarina.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99536,7 +98843,6 @@
     { "name": "planetofreviews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "planetpayment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "planning.center", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "plantidentification.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "plate.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "plathome.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "platinnetz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99609,7 +98915,6 @@
     { "name": "portail-familles.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "porterbuddy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "portingkit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "portmeirion.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "postman.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "postscnn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "poststar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -99794,7 +99099,6 @@
     { "name": "radiusone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "radon.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rafinad.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ragingserenity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rai88asia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "raiden.network", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "raiffeisen.al", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100032,7 +99336,6 @@
     { "name": "rmconsulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rmsisrs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rmurai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "roadhousecinemas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "roadtripnation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "roanoke.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100042,7 +99345,6 @@
     { "name": "rochesterymca.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rockcult.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rockinmama.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rodjulian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rojavainformationcenter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ronandez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ronc.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100103,7 +99405,6 @@
     { "name": "ruvoip.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rwlib.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ryobitools.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ryu-ga-gotoku-audition.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ryvit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "s0t.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "s4c.cymru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100156,14 +99457,11 @@
     { "name": "sanook69s.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sansumclinic.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "santillana.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sanuk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saphnelosavings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sapien.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sapiensecure.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sapling.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sapphic.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sapphirebet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sarems.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sarkariresultz.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saschabruemmer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saseducacao.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100285,7 +99583,6 @@
     { "name": "servebyte.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "servecontent.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "servelelecciones.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "service.vic.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "servicioskoinonia.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "servingseniors.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "setabun.or.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100487,7 +99784,6 @@
     { "name": "smittybilt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smmworldbooster.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smokestore.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "smolny.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smoove.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sms.to", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smsbd.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100576,7 +99872,6 @@
     { "name": "specialist.srv.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "specifications-pro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "speckle.systems", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "specopssoft.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "specs-tech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "speed.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "speedexam.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100607,7 +99902,6 @@
     { "name": "springgrillhouse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sprizzy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sproutstudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sproutstudiostaging.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spypornone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sqldbm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100618,11 +99912,9 @@
     { "name": "srilankanguides.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ssatpa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ssb.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ssbwiki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ssonetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sst.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stackblogging.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "stancoe.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "standard-wohnungsbaukredit.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "standard-wohnungsbaukredit.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "standardnotes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100682,7 +99974,6 @@
     { "name": "storytellingsales.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stotranidhi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stovax.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "stps.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "strakertranslations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "strananaladoni.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "strategicmanagementinsight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100791,7 +100082,6 @@
     { "name": "syssolindia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "system-erp.com.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "system-informer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "systemc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "systemhaus.saarland", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "systeminformer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "szimpla.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100810,7 +100100,6 @@
     { "name": "tadalafil20x.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tafcares.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tagcorp.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "taittowers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "take-a-screenshot.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "takeatumble.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "takecarebnb.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100821,7 +100110,6 @@
     { "name": "taliskerwhiskyatlanticchallenge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "talk-video.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "talkischeap.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "talpanetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tamedia.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tamgaturk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tamilfunda.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100838,7 +100126,6 @@
     { "name": "tarot-online.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tarot-online.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tarpsnow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tarsusdistribution.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taspo.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tastyplacement.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taxandor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100896,7 +100183,6 @@
     { "name": "teenxy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teg6.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teh1xbet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tehnikarechi.studio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tekdt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teko.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tektorg.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -100905,7 +100191,6 @@
     { "name": "tele2vaxel.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "telecharger-videos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "telefonicatech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "telemetr.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "telepizza.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "telepizza.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "telezon.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101140,7 +100425,6 @@
     { "name": "tourmaster.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tourshopfresno.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "townnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "toyfight.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tpa.or.th", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tpgozd.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tracefy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101187,7 +100471,6 @@
     { "name": "treecycle.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "treesonthemove.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trekkinglab.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "trelleborg.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trelliscompany.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trendingnewswala.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trendssmmpanel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101284,7 +100567,6 @@
     { "name": "udaipurescortsservice.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ufh.com.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ufsupersport.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ugg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uglypeople.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uguu.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101328,7 +100610,6 @@
     { "name": "unusualplaces.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unworldoceansday.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "up.nic.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "up2tech.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "up4cash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "upclinic.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "updata.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101363,7 +100644,6 @@
     { "name": "usdirectory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "usenetreviewz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "userflow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "usetitan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "usgamesinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "usmoneyreserve.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uspsblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101374,7 +100654,6 @@
     { "name": "utopia-ecosystem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "utp.edu.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "utube.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "uwalumni.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uwtd.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ux.pub", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uz1xbet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101425,7 +100704,6 @@
     { "name": "veonow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ver-television.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ver-tv.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "verdecora.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "verdonkadvocaten.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "verge-solutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vergehealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101463,7 +100741,6 @@
     { "name": "victoryoutreach.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vidasana.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vidazoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vidcruiter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "video-converter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "videoeta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "videogamers.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101498,7 +100775,6 @@
     { "name": "visionunit.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "visitazores.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "visitbelfast.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "visitidaho.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "visitinvernesslochness.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "visitmexico.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "visitnewcastle.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101532,7 +100808,6 @@
     { "name": "vkusvill.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vladimirwrites.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vle.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vm.co.mz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vnxf.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vo-vse-tyajkie.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vobis.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101608,7 +100883,6 @@
     { "name": "wamsi.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "washabich.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "watchfreexxx.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "watchjavidol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "watchpornfree.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "watchpsllive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "watcht20worldcup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101665,7 +100939,6 @@
     { "name": "weddingdressesguide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "weddingpro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wedinspire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "weekendcraft.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "weethet.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wefloridafinancial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "weig-karton.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101729,12 +101002,10 @@
     { "name": "wind.com.do", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "windirstat.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "windowsblogitalia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "windowsru.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "windowsviet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "windr.win", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "windrawwin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wine.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "winenews.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wingstop.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winkyverse.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winl-45774.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101816,7 +101087,6 @@
     { "name": "wreo.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wrighthassall.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "writemyessayhelp.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "writingbee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "writingillini.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "writingservicesreviewsblog.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wrm.sr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101893,7 +101163,6 @@
     { "name": "yanisvaroufakis.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yapaytech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yappy.media", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "yates.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yates.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yay.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ybr.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101958,7 +101227,6 @@
     { "name": "zerohash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zeroheight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zestedesavoir.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "zetaglobal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zetflix24.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zhongzilou.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ziddea.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101967,7 +101235,6 @@
     { "name": "zingermans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zinnov.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zionponderosa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "zirveyazilim.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zl.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "znanio.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zniis.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -101990,7 +101257,6 @@
     { "name": "0c.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "0nnn.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "0wx.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "0xnotes.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1-800-mattress.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1001telecommandes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "101android.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102005,7 +101271,6 @@
     { "name": "141-95-156-101.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "144-217-180-114.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "15k.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "15october.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1800matress.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1800mattress.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1800mattress.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102050,7 +101315,6 @@
     { "name": "444manualtherapy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "480ptvseries.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4b.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "4bmt-vld.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4filtre.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4gwz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4server.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102134,7 +101398,6 @@
     { "name": "aina.moi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aiot.pw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aipcardio.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aipderm.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aircash.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airconditioningkemptonpark.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airsial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102150,7 +101413,6 @@
     { "name": "albi-tourisme.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alehinta.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alenvlahovljak.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aleragroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alexandererber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alexandrawett.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alexblanck.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102198,9 +101460,7 @@
     { "name": "andreihodorog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "andytownsendphotography.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "angelpowwow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "angie-webdesign.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "animal-paris.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "animonda.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ankaraarabakiralama.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ankaracikma.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ankaracikmaparca.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102229,7 +101489,6 @@
     { "name": "appinplace.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "appinvalley.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "appliedbehavioranalysisedu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "applique.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "appsbd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aprendainglesnabiblia.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aquastudios.games", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102383,7 +101642,6 @@
     { "name": "betuca.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "betwinner-india.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "betwinner2.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bevmo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bf2statistics.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bfbs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bia3consultores.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102484,7 +101742,6 @@
     { "name": "bsskorcz.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "btcx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "btrade.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "builddirect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "builtinvacuum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bulldogdriveways.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "burghardt-neumann.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102495,7 +101752,6 @@
     { "name": "buspatrol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "but-its-not-your.business", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "butikk-nesoddkatten.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "butlins.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "buy-express-vpn.asia", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "buy-invertor.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "buypersonalproxy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102546,7 +101802,6 @@
     { "name": "casashops.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cashbacksummit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cashwave.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "casino-hero.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casinoua.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "castit.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "catalogueau.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102559,7 +101814,6 @@
     { "name": "cdgitalia.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ceiexam.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "centurionlaboratories.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cercle-helvetia.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cerquitamio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "certsign.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cesusc.edu.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102630,13 +101884,11 @@
     { "name": "club-transformation-digitale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clubcollinssquare.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clubrubionu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "clun.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cm-funchal.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cmsonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cmtso.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cna.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cnslub.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "coach-hpe.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coaches-website.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coalitieduurzamedigitalisering.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coastalhealthins.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102683,7 +101935,6 @@
     { "name": "corporategift.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "corporatehitech.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "corykoz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cosmohost.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cosy-interior.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cotennis.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cotrugli.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102740,7 +101991,6 @@
     { "name": "cyberpuerta.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cybersails.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cyesec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cz10.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "d-uhlig.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daddylive.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daffodilusa.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102778,7 +102028,6 @@
     { "name": "dealnxt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dealsfinders.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deathclub.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "debatyun.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deboo.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deepwatch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dekordiyon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102804,7 +102053,6 @@
     { "name": "dermafeelstudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "desacanggu.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "designforchangetaiwan.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "detektywtd24.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deuro.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deutschexporno.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deuxfleurs.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102851,7 +102099,6 @@
     { "name": "django.baby", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dkproducts.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dlevans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dlmarket.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dlv-registry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dlv-registry.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dmaclinic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102893,7 +102140,6 @@
     { "name": "dse.com.bd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dsgnwrld.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dssresearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dsu4.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dte.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dubaiaerospace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dubairun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -102919,7 +102165,6 @@
     { "name": "eastvalleyendo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "easybiztech.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eauxdevienne.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ebanca.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ebscomedical.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eclipsecon.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ecobunker.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103059,7 +102304,6 @@
     { "name": "faneuil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "faraso.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farmbureauinsurance-mi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "farmersfridge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "farmtogether.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fasqu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fastblob.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103151,7 +102395,6 @@
     { "name": "freepro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "freeunitconverter.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frequence-turf.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fridakahlofans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frieslandcollege.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fromlifephoto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frontrunneragency.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103222,7 +102465,6 @@
     { "name": "getflip.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "getintopcr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "getlaminas.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "getriebeservice-gse.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gfleaks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gfrevenge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ghnewslive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103259,7 +102501,6 @@
     { "name": "golfnational.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "golfplus.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "golorr.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gonerstudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gonoodle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goodfundslending.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goodshuffle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103326,7 +102567,6 @@
     { "name": "hausmeister-website.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "havells.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "haverford.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "haydenbleasel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hd-olimpo.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hdbooty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hdxvideosporns.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103349,7 +102589,6 @@
     { "name": "her-life.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hereporn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "herp.careers", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hibit.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hif.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "highproject.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hiphopdates.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103359,7 +102598,6 @@
     { "name": "hj.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hkspeed.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hl8id.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hm.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hoathinh3d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hokqbet88.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hollyloless.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103367,7 +102605,6 @@
     { "name": "hollyloless.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "homeserve.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "homespure.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hometrust.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hominginportland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "homyhomee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hondainamerica.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103506,12 +102743,10 @@
     { "name": "italianpillow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "itlg.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "itpedia.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "itpress.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "its-not-your.business", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "its-taxi.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "itsacheckmate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "itviec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "iv.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ivermectinc19.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iwant-sex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ixxat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103564,8 +102799,6 @@
     { "name": "kamilsevi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kampfsportschule-einherjar.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kankfn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kansascityzoo.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kasinoilmanrekisteroitymista.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kaufleute-sbh.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kaufmich.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kayne.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103739,7 +102972,6 @@
     { "name": "ljusdal.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "localcrew.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "localcrew.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "localiq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "localnode.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lodestarss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "loekvormgeving.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103754,7 +102986,6 @@
     { "name": "louest.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lourorestaurante.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lovebabo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lovedepot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lovi.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "luckygreencasino.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "luckyways.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103768,7 +102999,6 @@
     { "name": "lynxbroker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lz.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lzwwebsite.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "m-cert.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "m-mts.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "m2designer.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ma-decheterie-du-domicile.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -103936,7 +103166,6 @@
     { "name": "mintogardens.org.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mishamayfairart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mit-sexchat-geld-verdienen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mitic.gov.py", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mjpromotions.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mklwork.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mlml.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104018,7 +103247,6 @@
     { "name": "mycopa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mydedicatedservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mydentist.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mydmv.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myfloridahouse.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myigetit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "myintegrativehealthcenters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104067,14 +103295,12 @@
     { "name": "neoverify.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "neroli.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nesoddkatten.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nestdigital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nestlein.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "net-service.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netcoresmartech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nethorizon.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netkappa.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netpatient.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "netstrategy.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "networklessons.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "neuralink.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nevers.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104091,7 +103317,6 @@
     { "name": "nft-dagasi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ngxmetrics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nh.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "niceactimize.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nicepussypics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nicholasjohnson.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nien.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104100,7 +103325,6 @@
     { "name": "nikkei225jp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nilslab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nineenergyservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nit.school", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nizwassolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "njintl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nma.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104136,7 +103360,6 @@
     { "name": "nutrifruiti.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nutritioned.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nutroeffect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nuwave.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nxznews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nya.work", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nyaan.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104161,7 +103384,6 @@
     { "name": "olevoitalia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "omegacode.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "omegleporn.to", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "omni.chat", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onefestivaltower.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onefestivaltower.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onekey.so", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104227,7 +103449,6 @@
     { "name": "partijvoordedieren.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "partsworld.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "passgator.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pastes.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "patchassociates.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pathfinderbank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "paultonspark.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104242,7 +103463,6 @@
     { "name": "pcsystem.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "peachstateaesthetics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "peacockn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "peaksupport.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "peaky-blinders.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pebe.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pedohunters.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104260,7 +103480,6 @@
     { "name": "petsru.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pfannkuchenbratze.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pfefferle.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pflanzkompass.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pgsls.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phil.to", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "philasd.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104282,7 +103501,6 @@
     { "name": "pittsburghfibroids.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pivotbio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pkvgamesqq.asia", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "planful.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "platinum1.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "plausibility.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "play-asia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104670,13 +103888,11 @@
     { "name": "smtpserver.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "smvpdev.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "soccerking-store.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sochealth.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "socialpa.ws", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "socialplace.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "soelta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "soft4led.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "softcomplex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "softonic-ar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sogoreate-landtrust.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "solarandenergyspecialists.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "solarcia.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104703,7 +103919,6 @@
     { "name": "space.gov.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spaseekers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spasskellner-comedykellner.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "speak.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "specialistskin.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spectrumresorts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "speechpathologygraduateprograms.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104722,14 +103937,12 @@
     { "name": "sporter.com.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sportovnivozy.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sportsdestinations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sportwette.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spotlight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "springfieldneurological.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spriters-resource.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sprogress.uz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "squalesdechatou.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sratim.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "srs.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sscnapoli.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ssentinel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ssqq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104782,7 +103995,6 @@
     { "name": "superlevel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "suppernova.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "support.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "supportiv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "supya.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "suresi.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "suresi.gen.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104878,7 +104090,6 @@
     { "name": "theconductsoflife.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thedelaunay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thedigitalcurator.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "theendpoem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "theescapegame.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thefaceshop.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thejoaustralia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -104956,7 +104167,6 @@
     { "name": "trendier.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trendmacun.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trendpie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "trendyolgo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tresoro.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tresoro.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tripoli.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105001,7 +104211,6 @@
     { "name": "uni-chem.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unikon.su", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unioncr.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "unisul.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "universehistory.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "universemasterplan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "universereligion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105138,7 +104347,6 @@
     { "name": "vulkanplay-platinum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vulkanrussia-avtomat.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vulkanrussia-casinos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "walkercorp.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "walkergroup.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "walliscreek.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wallofclocks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105191,7 +104399,6 @@
     { "name": "wiredcolony.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wirtschaftsberater-website.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wisdompills.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wisebuilders.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "witt.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wittur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wmda.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105204,7 +104411,6 @@
     { "name": "woorkup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wordroid.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "workmax.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "worldofsmm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wot-life.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wowfare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wozwaardeloket.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105322,8 +104528,6 @@
     { "name": "7203.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "777.tf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "830res.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "88518.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "890789d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "9060989.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "9070989.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "9304dh5.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105341,7 +104545,6 @@
     { "name": "98999555.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "98999666.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abc-pneupascher.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "abccomputerservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abinmetall.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "acchiappasognibedandbreakfast.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "accueillons.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105357,10 +104560,8 @@
     { "name": "affordacode.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "afute.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agence-matrimoniale-paris.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "agencymasala.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ai.market", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aibili.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aiguemarine-spa.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aila.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aipee.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aita.global", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105394,7 +104595,6 @@
     { "name": "annonces-moto.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "annonces-vacances.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anrworldwide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "anticonceptieportaal.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "antts.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "any-id.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "any-id.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105501,7 +104701,6 @@
     { "name": "bigzoo.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bijoux-fantaisies.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bilgilarus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "biscornu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bitkan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bizmonthly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "blacklist.support", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105539,7 +104738,6 @@
     { "name": "cadynce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "caldwell.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "calisthenicroutines.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "camionesdesegundamano.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "camperfaqs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cancer-info.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "canningcityfc.org.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105664,7 +104862,6 @@
     { "name": "davidcook.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "davidrteixeira.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dcgprecisionpainters.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dchauriga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "debateisland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deceasedonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "decopros.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105688,7 +104885,6 @@
     { "name": "devries.frl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dewijkpraktijk.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dfwork.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dh75975.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dhoffmanmd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "diapuls.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "diariodebalsas.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105770,7 +104966,6 @@
     { "name": "entreprise-innovante.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "envia.com.gt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eoliennedetoit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "eos-croatia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eraterm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "esalinity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "especials.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105844,7 +105039,6 @@
     { "name": "francosuaga.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "frantajaros.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "freckles.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "freedomperception.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "freedomscam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "freelancing.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "freemor.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105898,7 +105092,6 @@
     { "name": "generation-clic.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "generatorreview.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "genomicsinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "genomicsplc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "germantolobis.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "geru.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "getfitbee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -105909,7 +105102,6 @@
     { "name": "gigachad.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gigapc.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gite-le-pascaud.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "glaciercreek.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "global66.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "globalhomeautomation.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "globalrocksummit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106133,7 +105325,6 @@
     { "name": "kickitfootball.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kiddoscape.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kippenclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kiztarafi.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "knkv.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "koenig-pflueger.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "koko5000.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106151,7 +105342,6 @@
     { "name": "kuberkaitseliit.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kuchugury.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kutalin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kwl.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kylacoin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kyoox.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "la-bonne-cuisine.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106160,12 +105350,10 @@
     { "name": "ladymadd.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lahalte-buvette.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lakerfreight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lalettrepatriote.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lansociety.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "laptophub.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "laquestionviterepondue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "larabouillere.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "larsentoubro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lashpilot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "laspoesias.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lasthome.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106207,7 +105395,6 @@
     { "name": "logicielscrm.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "logipdv.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lolcats.cat", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lonasdigital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "loncat.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lordgeorgeanson.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "losderover.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106215,7 +105402,6 @@
     { "name": "lostluma.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lowesprotect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lowlab.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "luis.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lukaszwojcik.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lusometeo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "m-enterprise.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106249,7 +105435,6 @@
     { "name": "masadaoffensive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "masanteadelavenir.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "masoncountysheriff.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "masspingtool.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "masterise.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mastodon-poradnik.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "matarbyte.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106283,7 +105468,6 @@
     { "name": "meds.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "meister-stuecke.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "meister-texte.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "melaniegowen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "melvintemo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "memez.download", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mergegroup.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106362,7 +105546,6 @@
     { "name": "mypetitjob.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mysantanderpension.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mysmartloan.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mytecheg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mywifiext.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nakahama-dental.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "naprodukcji.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106407,7 +105590,6 @@
     { "name": "nordelig.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "norfipc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "northernmichiganvr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "norwalkps.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "norwegian.events", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "noticiassonaqui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nouragha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106424,7 +105606,6 @@
     { "name": "nyuware.pw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nyy.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "o-n-s.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "oakdale.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "obi-investissements.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ocabj.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ocalhukuk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106610,7 +105791,6 @@
     { "name": "renovation-abm.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reparacioneslocativas.com.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "repararmac.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "requeteguapas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rerubabs.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reseau-image.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "residualpayments.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106624,11 +105804,9 @@
     { "name": "riseonline.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "riseproject.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "riserehberi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rit.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ritaescortsdelhi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rmdis.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rmit.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "roa.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "robertkorpas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rockingreports.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106662,13 +105840,11 @@
     { "name": "santaluciatirajana.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sante-informations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sapphirecleaningwa.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sarand.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "satistemsilcileri.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saveonattractions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saxifrageleather.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sayfa.istanbul", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sbettoken.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "scammer.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scappoosebay-wc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "schlagzeug-lernen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scholi.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106706,7 +105882,6 @@
     { "name": "sinanozpinar.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sindacato.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "site-de-paris-en-ligne.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sitepentruprofesori.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sites2poker.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sites2rencontre.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sjid.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106857,7 +106032,6 @@
     { "name": "tradeandindustrydev.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tradeeasy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tradgardsmart.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tradgardsmart.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "transangelsnetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "transharder.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trashpandacigars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106897,7 +106071,6 @@
     { "name": "ungovernable.men", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unikimages.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unipolrsa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "uniqleen.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unitingwa.org.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unitop.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unitycardiology.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -106943,7 +106116,6 @@
     { "name": "vitalpraxis-lietz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vmninja.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vnanet.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vokabula.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "volkswagensaigon.com.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "voyagesvoyages.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "voyance-direct.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107014,7 +106186,6 @@
     { "name": "zshmvp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ztable.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zuidplein.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "09.ag", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "0x90.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "2-faktor-betaling.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "2.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107045,7 +106216,6 @@
     { "name": "ahosenjoni.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aikoly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aipderm.com.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aipderm.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aipderm.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aipderm.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aipderm.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107059,7 +106229,6 @@
     { "name": "alezinhababykids.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aliahmadi.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alphageek.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "alyusr.com.sa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "am-yu.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amagroup.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amaztravail.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107090,7 +106259,6 @@
     { "name": "b17turkiye.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bambergerdatenschutz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bammatta.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "banfieldentertowin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bar-rique.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bawanghitamalibanu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bbbb.loan", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107377,7 +106545,6 @@
     { "name": "jspartnersinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "juancadc.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "julianestrada.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "juneereccentre.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jura-versicherungen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "justcall.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kamagramarketim.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107545,7 +106712,6 @@
     { "name": "o11y.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "observability.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "off-gridodyssey.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "offbeatbits.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oftransfer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ohako-inc.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ohaquiemcasa.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107607,7 +106773,6 @@
     { "name": "qinglingyu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quantum.gl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quicklyclosure.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "radarbogor.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "raleighboneandjoint.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "raleighmedicalgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "raleighpsych.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107656,7 +106821,6 @@
     { "name": "scooply.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scopeglass.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scpidcard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "scytl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "selangdi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "semicolon.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sendflowers.pk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107754,7 +106918,6 @@
     { "name": "tpldevsg-mythiess-dev.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "traficus.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "transfers-sheregesh.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "travellings.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "travelmap.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "travelriny.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "treasuremountainmining.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107813,7 +106976,6 @@
     { "name": "vvvvvv.click", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "walkerfoundation.org.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wamia.wa.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wanted.co.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "watchurdiet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "waterloo-abba-show.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wdophoto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107830,8 +106992,6 @@
     { "name": "wiseitguys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wlnk.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wmmi.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wokeupset.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "woopiq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "worldsage.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wsparcie.gov.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wundertraining.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -107846,11 +107006,9 @@
     { "name": "yakupyilmazboru.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yapdentalsurgery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ydetc.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "yeechie.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ylivemusic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yokaiispirit.ddns.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yomyyomy.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "youmeandjunee.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yournewsfeed.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ytmous.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yumisign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -108030,7 +107188,6 @@
     { "name": "2728cp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "2chi1.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "2class.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "3078i.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "331977.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "33ffaaa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "33ffbbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -108392,8 +107549,6 @@
     { "name": "8fs777.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "8fs888.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "8fs999.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "9023n.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "9023w.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "907856.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "923601.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "925892.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -108477,7 +107632,6 @@
     { "name": "agdsenice.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agencelcinvestigations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "agentprovocateur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "agrowbio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aguajero.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aiavatars.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "airvida.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -108633,8 +107787,6 @@
     { "name": "boatyardx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "boctok.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bokepav.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "boldinsight.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "boldinsight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bomanufacture.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bonfire.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bonwari.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -108760,7 +107912,6 @@
     { "name": "cuhadardokuma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "curiouscast.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cuubconsultancy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cyberpoint.az", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daddyschickenshack.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daddysfranchising.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daemus.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -108790,7 +107941,6 @@
     { "name": "dhavalvira.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "diefotogruppe.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digibtw.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "digiscrap.plus", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digital-park.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digitalwasteland.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digitizingninjas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -108861,7 +108011,6 @@
     { "name": "equestrianvaulting.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "equil.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "erinias.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "escale-communication.bzh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "estrategiasfm.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eurohell-design.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eurohell-design.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -109079,7 +108228,6 @@
     { "name": "forgejo.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "formalistgallery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fornaxmall.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fortressofsolitude.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fougereettralala.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foundationdevices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fraai.agency", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -109388,7 +108536,6 @@
     { "name": "makrufi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "malafidezoeker.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "managedwphosting.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mandatkollen.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "manofmanythings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mapa-airsoft-akci.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "marbleceramiccorp.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -109579,7 +108726,6 @@
     { "name": "preferredservice.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pregnantorcrazy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "prendashop.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "priano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "primrose-2.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "printersdrivers.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "privateboat.amsterdam", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -109595,7 +108741,6 @@
     { "name": "psychpsyo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "publicdelivery.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "puntoaparte.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "puravida-estate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "puritas.lk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "purrpley.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "purrpley.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -109802,7 +108947,6 @@
     { "name": "summaryexecution.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "summaryexecution.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "summaryexecution.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sunoven.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "supazena.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "super-60.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "super60.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -109872,7 +109016,6 @@
     { "name": "tlmedia.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tmryan.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tntbooks.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "todofiesta.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "toimitaax.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tominysun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "top10boeken.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -109887,7 +109030,6 @@
     { "name": "transactpaymentsltd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "transsensual.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "travelthing.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "trideum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trimill.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tripozo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tropicalstandard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -109981,7 +109123,6 @@
     { "name": "wohnungsbaukredit.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wonderpages.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "woody-art.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wootality.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "workoutdigital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wotlo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wp-rebuild.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -109992,8 +109133,6 @@
     { "name": "x61.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xcw888.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xcw8886.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xcw8888.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xcw8889.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xehopdongmuine.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xejaf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xenttrum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110023,7 +109162,6 @@
     { "name": "ydt.am", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yksolutions.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yoga-vakantie-ibiza.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "you.bo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "youjob.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yuanbiji.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yxapp10.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110049,11 +109187,6 @@
     { "name": "0x.lu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "0x27.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "10218.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "10218b.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "10218c.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "10218d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "10218e.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "10218f.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "118400.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "11fffkk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "11fffrr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110190,7 +109323,6 @@
     { "name": "9991158.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "9992258.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "9995558.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aapipower.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abolitionist-movement.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "abortopr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "absolutepondcare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110271,7 +109403,6 @@
     { "name": "appy.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aprendadesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apsprofessions.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "apsreform.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apsreview.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aquila.earth", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arab2cam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110422,7 +109553,6 @@
     { "name": "canastasderegalointernacionales.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cancunvacationexperts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "canhotrungtam.com.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "canhtuaone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "canmypet.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "canondrivers-support.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cap21-lrc.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110606,7 +109736,6 @@
     { "name": "elog.tokyo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eltec.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emaksuper.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "emeklifinans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emergencymanagementedu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emgadvisors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "emiliaperkkola.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110614,7 +109743,6 @@
     { "name": "empatify.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "endean.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "englishteacheredu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "enoahinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enterprisesupercenter.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enviro-clear.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enviroli.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110800,9 +109928,6 @@
     { "name": "hatsthings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hautemontagne.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hcelite.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hclsw.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hclsw.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hclsw.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hdaccess.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "health-ecore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "healthcareadministrationedu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110866,7 +109991,6 @@
     { "name": "inlomax.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inmueblescaribe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "insaneair.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "insertnext.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inspireplanner.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "institutoliderar.edu.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "integrityfirstloans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110911,7 +110035,6 @@
     { "name": "jomla.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jonipuhakka.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "joomag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jordanpark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "joseventos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jppc.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "justfencingcheshire.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -110988,7 +110111,6 @@
     { "name": "lightpod.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "likecrabwalkslowly.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lillaparken.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lilola.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lindung.pp.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "linncfs.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "linxtter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111042,7 +110164,6 @@
     { "name": "masters-in-special-education.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mastersinesl.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mastersinlibraryscience.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "masterunblock.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mathteacheredu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mattslack.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mbakustik.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111110,7 +110231,6 @@
     { "name": "naidoc.org.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nailartstudio.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nakada-shika.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "namclear.com.na", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nammont.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nangwizard.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "napolict.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111139,7 +110259,6 @@
     { "name": "nicolashervaud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nipponkousei.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nivaad.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "niveau-klatsch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nixpare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nnet.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nnn.tf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111172,7 +110291,6 @@
     { "name": "omnits.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "on-wert.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onemoonmedia.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "onkfaktor.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onlinembapage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onlinemedicalassistantprograms.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onlinemphdegree.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111263,7 +110381,6 @@
     { "name": "powerling.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "powerwithpeople.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pradeepagrawal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "preflighthomeinspections.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "premiumshop24.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "preschoolteacher.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "presta-div-airs.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111274,7 +110391,6 @@
     { "name": "primarycareconnect.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "primeexecutiveoffices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "primo.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "printdrivers.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "privacy.repair", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "privacyguides.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "privateinvestigatoredu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111337,7 +110453,6 @@
     { "name": "retro-comics.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "retroterminal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rexuy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rightship.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rincat.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rippling.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rishteykaro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111655,7 +110770,6 @@
     { "name": "xiurenwang.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xmessy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn----otbabmp3ae.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xn--7dvy22i.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--mbius-jua.band", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--naade-dta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xpews.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111710,15 +110824,11 @@
     { "name": "0x7d7b.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "100sovetov.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "100time.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "10218g.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "10218h.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "10218i.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1037thefoxrocks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1040taxfirm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "11it.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1200.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "123womenslife.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "128012.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "128612.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "132813.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "149481.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111745,7 +110855,6 @@
     { "name": "261082.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "275004.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "285128.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "288628.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "2diets.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "2jtech.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "2manydits.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111831,7 +110940,6 @@
     { "name": "80thcork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "817181.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "829917.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "830891.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "831783.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "835183.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "836436.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111923,7 +111031,6 @@
     { "name": "algbra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aline-cannabis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alisonswindles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "allfansleak.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "allforcreate.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "allgreenlawncare.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "alliedartistswv.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -111962,7 +111069,6 @@
     { "name": "apkclup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aplusz.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "app-alp-cp-boost-model.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "app.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "appliancerepairtime.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "applicablesecurity.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apthesys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112051,14 +111157,12 @@
     { "name": "bellastate.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "benemortasia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bentcreekfarm.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bernd-ungerer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bestgardener.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bestjigsawreview.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bestsidelka.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bestvape.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beworksite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bewustwinkelen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "beyoursell.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bgp.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "biaccountancy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "biancavandenberg.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112100,7 +111204,6 @@
     { "name": "boutique-pcland.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bovileva.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "boxiruem.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "boxlegal.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "boxofficefunding.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bramstonbeach.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "branaher.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112120,7 +111223,6 @@
     { "name": "bruyerre.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bs09.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bsid-clan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "buchelstore.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "buddobot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "buenosairesconnect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bufeteesquire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112221,7 +111323,6 @@
     { "name": "collegegirlsmarts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coloffmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "colonialfilings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "colonialmanufacturing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coloradosportsofficials.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "colorfulworld.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "com.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112285,7 +111386,6 @@
     { "name": "cybercic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cyberresilience.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cyraco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "czihak.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "d-influencers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dacgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dachnie-reshenia.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112624,7 +111724,6 @@
     { "name": "goodearth.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goodtimesrvsales.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goringdogsitting.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gospelnarrative.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gpstrackersaustralia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gptscdn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gracealexwatch.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112699,7 +111798,6 @@
     { "name": "heshamelsawah.clinic", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hexusmigration.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hey.pw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "heyblogging.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "higsegeirl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hiiumeretuulepark.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "himmi.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112722,9 +111820,7 @@
     { "name": "hushhush.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hydrozen.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hylark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hypernet.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "i-stream2watch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "i1430.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iadminify.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iamlearning.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ibei.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112791,7 +111887,6 @@
     { "name": "itradeit.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "itsecboecker.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ivansgroups.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ivn999.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jaajko.me.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jagsttalschule.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jamestgh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112847,7 +111942,6 @@
     { "name": "kiow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kishenya.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kita.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kkpig.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "klempin.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "klempin.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kloudstack.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112863,7 +111957,6 @@
     { "name": "kotydomowe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kozmetikatrend.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kredibanka.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ksato.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kupidon-rt.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kupon-proxy6.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kutyamacskashop.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -112881,7 +111974,6 @@
     { "name": "larcaenviro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lasalle.org.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lasanious.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lasinfusiones.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "laslo-hauschild.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lathamwatkinsplatform.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lavish.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113011,7 +112103,6 @@
     { "name": "mf.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mhastey.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "michiganfthb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mickaelbonnard.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "midesa.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "midesa.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "midwestdfe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113019,7 +112110,6 @@
     { "name": "midwifeschooling.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mijndiad.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mijnstembureau-amsterdam.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mikelawson.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "milmmed.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "min2.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mindmynature.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113039,7 +112129,6 @@
     { "name": "moin.solar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "moneydecadadia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "moodyfss.marketing", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "moonlanders.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "moonproject.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "motorparts-online.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "motorviet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113184,13 +112273,10 @@
     { "name": "orthoprax.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oruzjeonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "osoo.kg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ostalb.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "oth666.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oukasou.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oukasou.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "outdoorphoto.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "outofthefog.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "outtask.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "outworking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ovalterfurtado.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "owenet.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113201,7 +112287,6 @@
     { "name": "p99performance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "paardenfotografie-nederland.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pacem.global", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pacemigration.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pacificislander.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pacificstates.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pack1537.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113250,7 +112335,6 @@
     { "name": "peshakoo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "petsmundoanimal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pfandbriefe.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pha.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "philhugo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phonex.com.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phormulagroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113262,7 +112346,6 @@
     { "name": "picalendar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "piifunding.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pinedahair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pingpongsourcing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pinoyequalizer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pintiaktivasyon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "piratepcs.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113296,7 +112379,6 @@
     { "name": "ppsltd.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ppter8.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pracovita.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pranavida.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "prauxilium.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "praxisamziegetsberg.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "premier-hub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113341,12 +112423,10 @@
     { "name": "pujcky.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pulsestaffingllc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pulsus.mobi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "punchequipment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qcdjco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qeddi.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qform.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qfurs.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "qitabbs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qpipi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "quatdientico.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "qzr.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113384,9 +112464,7 @@
     { "name": "reliablepi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "renewedhr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "repairpoint.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rercel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rette-ein-kinderleben.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "reusesti.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "revechat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reverce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reviewspotly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113413,7 +112491,6 @@
     { "name": "romana.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "romerska-ringar.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rosevillekindy.nsw.edu.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rossdak.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "routage.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "roverkob.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "royship.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113524,7 +112601,6 @@
     { "name": "skillup.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skinmedshop.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skiptontownhall.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "skolplattformen.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sks.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skyrider.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slaght.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113596,7 +112672,6 @@
     { "name": "strenge-zucht.schule", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sub-health.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "subastatutraslado.com.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "subiaco-physiotherapy.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "suckerberg.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sulakskii-canyon.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "summit-research.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113609,7 +112684,6 @@
     { "name": "suomentilitoimistot.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "super-60.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "super60plus.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "superb.games", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "superkakdoma.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "superuser.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "suppchat.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113675,7 +112749,6 @@
     { "name": "theaidigitalmarketingblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "theanimalskingdom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thebuttonpost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "thecdev.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "theconveyer.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thedaimon.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thedataexaminer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113694,7 +112767,6 @@
     { "name": "thuongluu.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tidal.zone", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiendamagia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tieredaccess.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiete.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tilitoimistopaiva.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiloschroeder.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113753,9 +112825,7 @@
     { "name": "ucih.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ueliexpress.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ufar-ntds.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ufoet.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uizard.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ujjivan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ulbr.dnshome.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ulnesshealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ulrikethiele.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113814,7 +112884,6 @@
     { "name": "vinitour.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vipline.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "virkhost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "virtualparalegal.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "visapro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "visapro.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "visaprolaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113863,7 +112932,6 @@
     { "name": "wiki-rostelecom.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wildtattoo.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "windowscult.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "winma.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winners.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winnerschapelbelgium.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "winpic.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113891,7 +112959,6 @@
     { "name": "wydmy.com.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wynajmijkontener.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wyofitclubs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wz.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xbdm.fun", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xkwy2018.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--3bt625flzps8a.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -113959,7 +113026,6 @@
     { "name": "33132c.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "33132d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "33132e.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "360ecogroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4diss.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "4dsignworx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "6601.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -114671,7 +113737,6 @@
     { "name": "accreditedbuildingservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "accuride.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ackersplastering.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "acroballe-circus.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "actaflytt.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "actionglasshouston.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "admglass.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -114717,7 +113782,6 @@
     { "name": "amanydesignstudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amicare.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amightyoakbedandbreakfast.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "amliyatdua.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amongusmerch.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amoroso-vivace.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amzsupply.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -114749,7 +113813,6 @@
     { "name": "argosrisk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "armatura.kiev.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aroofing.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "articexploit.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artictrail.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artofstonegardening.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artyfish.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -114889,11 +113952,9 @@
     { "name": "byebyewesp.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bzc.st", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "caesar.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cagerscoffeehut.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cajaregionalserrana.com.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "calculatorspace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "calendariodecorrida.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "call2counter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "calystral.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "campblocos.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "camppisos.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -114908,7 +113969,6 @@
     { "name": "cboost.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cbozarks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ccnda.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ccnda.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cdconnect.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cec.org.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cefi.work", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -114972,7 +114032,6 @@
     { "name": "comercialpedroso.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "comet-pct.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "comet.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "comicbooktreasury.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "commanderone.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "comprofacil.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "confirmit.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115059,7 +114118,6 @@
     { "name": "dignilog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ding.com.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dinjob.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dipnot.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dipuma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "direct2trade.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "directnic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115077,7 +114135,6 @@
     { "name": "dontvisit.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dougholtonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dougsnugs.love", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dr-dedet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "draljarallah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dramaqueer.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dreamkids-bysiska.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115086,7 +114143,6 @@
     { "name": "drsamkelojiyana.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dsdesign.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dsnine.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dsr.us.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dustindecker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dutchbodybuilding.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dwt-onderwijsencoaching.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115097,7 +114153,6 @@
     { "name": "ebpc.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ec2software.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ecargo.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "eckler.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ecomweb.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "edeka-peper.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "edgar.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115204,8 +114259,6 @@
     { "name": "fuhui-web.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "funchal.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fuso.com.py", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fussboden-manufaktur.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "fussbodenmanufaktur.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "futurenode.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "g7liveseafood.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gaitzmemorials.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115248,7 +114301,6 @@
     { "name": "glotzclevertv.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gmc-roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gmtaccounting.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gokartwiki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goldequipment.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gomeya.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goodok.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115294,12 +114346,10 @@
     { "name": "heihei.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "heise.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "heise.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "heit.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "helloheadsup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hemrin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hendrix.com.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "heroesofthenorth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "heroplusgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hevenerfeld.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hgb.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hgouni.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115328,7 +114378,6 @@
     { "name": "huhu.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "huliwang.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "humandesignstudios.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "huntvac.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "huny.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "huohuo.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "huohuo.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115421,9 +114470,6 @@
     { "name": "kalmservices.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kansascitymosaics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "karmadee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kaseware.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kaseware.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kaseware.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kawaiilo.li", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kcsconstructioncompany.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kelamb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115448,13 +114494,11 @@
     { "name": "kongjie.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "koujiao.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kp-opt.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kremi.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "krepmarket.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kretschmann.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kroati.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kumpali.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kuralink.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kurztrip-fuer-verliebte.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kyledgoodwin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "la-france-ressuscitee.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "laettnercamps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115513,7 +114557,6 @@
     { "name": "manamohajerat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "manhack.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "manhattan.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "manualdousuario.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "manyo.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "maquiguarda.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "maresimone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115634,7 +114677,6 @@
     { "name": "netfiles.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "network.restaurant", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netzagentur.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "neversayretired.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newcasablanca.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nexo.games", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nfs.pub", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115680,9 +114722,6 @@
     { "name": "ohglowup.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "olddragon.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oliverswindles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "oma-opa-enkel-urlaub.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "oma-opa-enkel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "omerdanismaz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "omnama.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "omroepvenray.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "on-state.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115752,7 +114791,6 @@
     { "name": "pma-tools.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pmconsulting.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pmctcg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pmvmaconnerie.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pobierz.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "portalampgroep.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "portaldenoticias.app.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115841,7 +114879,6 @@
     { "name": "retailmarket.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "return.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "revolucioncharango.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rfmsconnect.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rhinosf1.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rhyno.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rhysg.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115853,10 +114890,8 @@
     { "name": "ristorantedabeni.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rjpdesignanddecor.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rockdaisy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rohaniways.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rollinsdogtraining.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "romanywg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rosclar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rouwcentrumterheide.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rtm.kr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rukouye.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115924,12 +114959,10 @@
     { "name": "siai.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sibauto.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sibintek.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "signmore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "silverscopedesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "silverwolf.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "silviamanduley.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "simone.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "simpul.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "simul.host", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "singcapital.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sinkfactory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115963,8 +114996,6 @@
     { "name": "sp-moebel.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spanishenglish.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sparx.dog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "speed-demon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sperrmuell-berlin.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sportcucc.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spreadsheetconverter.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "spreaf.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115972,7 +115003,6 @@
     { "name": "start-up.network", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stateserv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stephanielacroix.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sterlinginsurance.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stonehillpace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stonsil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stopever.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -115993,7 +115023,6 @@
     { "name": "sug.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sundaymorningpodcast.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sunshinesramblings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "surecloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "surivracht.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "survivalgearideas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "survivalknivar.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116013,7 +115042,6 @@
     { "name": "szemuvegtrend.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taiwanbible.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tallos.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tartablu.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tastingtheatreteam.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tcwsites.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "te-an.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116052,7 +115080,6 @@
     { "name": "thescriptinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "theseparationguide.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "theskepticalreviewarchive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "thesponsorshipguy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thewaterfrontpoole.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thomasvanlaere.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thorntonshvacservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116142,7 +115169,6 @@
     { "name": "versslun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vesa.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vhiweb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vibrance.partners", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "videomaker.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vielfalt.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "villaboavida.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116163,7 +115189,6 @@
     { "name": "vonfurstenrechtstables.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vonsponneck.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vr-immoexpress.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vrp.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vxlabs.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "w88vna.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "waibit.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116171,7 +115196,6 @@
     { "name": "wasys.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "waterjetsale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wavenetwork.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "waxmelts.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wbbrinquedoseducativos.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wearecrew.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "weavile.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116190,7 +115214,6 @@
     { "name": "wessokind.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "westcoastfood.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "westernpsychiatry.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wgzdy.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whateveritworks.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whistleblowers.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "whoami.red", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116229,7 +115252,6 @@
     { "name": "woyao.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wpexplainer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wplicious.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wrnrw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wubuwu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wulai.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wulai.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116253,7 +115275,6 @@
     { "name": "xiuxiu.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--1985-43d6eta0a4g2a.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--80aleen8i.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xn--flsterstollen-xob.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--frderer-n2a.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--mentaltraining-fr-musiker-uwc.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--srbarhetsskanning-8qb.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116311,7 +115332,6 @@
     { "name": "zaoren.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zazhong.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zazhong.ml", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "zhankon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zhz.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ziai.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ziai.ga", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116325,7 +115345,6 @@
     { "name": "znjc.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zolotoy-standart.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zuehlke-coaching.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "zuhauserealestate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zxcs.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zxcs.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zzz-diary.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116456,14 +115475,12 @@
     { "name": "among-us.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amplifi.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "and-tax.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "andrews-waste.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "androidplanet.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "andyconcreting.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "annygraces.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anti-akw-ac.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "antiquario.roma.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "antonioso.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "antrodiulisse.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aorui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apac-fxcm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apexxglobalevents.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116485,8 +115502,6 @@
     { "name": "armiantichesanmarino.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arno-klein.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arnoklein.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "aromahookah.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "artinfo.ge", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artiso.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artistieq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artistiqueweddingphotography.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116556,7 +115571,6 @@
     { "name": "bestfriendsforever.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beyondinfinite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bflw.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bidarzani.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bigland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bigsolar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bigspark.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116583,7 +115597,6 @@
     { "name": "bookb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "booksky.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "boomstyle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "boost-collective.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "boraclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "borgmann-krankenfahrten.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bosniaks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116627,7 +115640,6 @@
     { "name": "caball.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cabotagem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cabrils.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cadductcleaning.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cafetaste.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cagao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "caian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116671,7 +115683,6 @@
     { "name": "carte-resident.ci", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "carterkosturos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cartesfrance.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cartoonvibe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casachronicles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casadalaura.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "casaibericadeli.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116708,7 +115719,6 @@
     { "name": "cisco-training.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "citerne-eau.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "civicphotos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "civictheatrenewcastle.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ckbc.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cleanerstool.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "clesurporte.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116727,7 +115737,6 @@
     { "name": "codeguided.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "codenetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cofidur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cognac-tasting-tour.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "colabore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "colearning.world", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "colincogle.name", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116886,7 +115895,6 @@
     { "name": "e-dnevnik.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "e-ops.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "e-scraper.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "e-sisyu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eaglecrest.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eajglobal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eajmail.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -116961,7 +115969,6 @@
     { "name": "esden.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "essentialsource.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "essexelectricaltraining.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "estlat.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "etablissement.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ethiack.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eticket.cr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117081,7 +116088,6 @@
     { "name": "flaite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flameport.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flaszka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "flatrate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flemberg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flexhyp.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "flextudo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117151,7 +116157,6 @@
     { "name": "fxcmportal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fxcmzh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fxstatus-chinese.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gadgetter.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gag101.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "galapagosbig15.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "galip.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117209,7 +116214,6 @@
     { "name": "go2store.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goalup.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "godblessus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "godestination-morocco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "godloveme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gofront.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gogonano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117280,7 +116284,6 @@
     { "name": "gypsybloom.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "habibi-fit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "haichuang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "haileyuantoy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "haixihui.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hakurei.win", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hallanalysis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117337,7 +116340,6 @@
     { "name": "housten.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "houston-building-maintenance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hqy.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hr-tech.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hsndrms.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "huachuang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "huangzz.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117436,7 +116438,6 @@
     { "name": "iune.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iwaiting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iwiki.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "izemporium.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "j-library.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "j-storm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jackarmail.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117591,7 +116592,6 @@
     { "name": "lawebstar.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lawmate.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lawton-is.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lawyerservices.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "laycock.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "layer.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lazionews24.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117601,7 +116601,6 @@
     { "name": "lebarmode.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leding.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lefichier.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "legatrace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "legrub.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lehnc.ddns.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lennyrodriguez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117641,9 +116640,7 @@
     { "name": "lixinnovations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lixvapes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lkldtowncenter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lldigital.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lnsk.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lntpower.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "logopedickyden.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "loja-meltech.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lojaapi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117846,7 +116843,6 @@
     { "name": "netbroker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netempresas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "netmarry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "newcastlemuseum.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newfate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newsfinale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newz.to", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117873,7 +116869,6 @@
     { "name": "nsoft.nu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nuestraboda.ec", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nuinui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nullptr.zone", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "numeriquoi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nw-glass.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nyauth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117936,7 +116931,6 @@
     { "name": "ownsky.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oxforderc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oxona.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ozhegov.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pablolopezlujan.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pagodart.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "painteddesertfrenchies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -117992,7 +116986,6 @@
     { "name": "pharma-insights.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phimmoingay.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "photocon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "photograf.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "photomosaicwall.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phpobfuscator.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phpunit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118112,7 +117105,6 @@
     { "name": "raisingresilientreaders.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ralaoui.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rapidseo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rapsconfab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rapyd.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rasaja.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ratingostar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118128,7 +117120,6 @@
     { "name": "recambiospuntored.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "recroommasters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "redbeardplumbing.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "redcity.apartments", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "redcode-web.design", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reddark.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "redschool.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118273,7 +117264,6 @@
     { "name": "sensat.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "seo.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "septischeput.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "seraleen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sergelapointe.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "serkozh.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "serpsolace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118289,7 +117279,6 @@
     { "name": "sheaspire.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shefburgers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shenandoahrealestate.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "shenbibi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shile.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shinesun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shiningservices.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118329,7 +117318,6 @@
     { "name": "skyfibertech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skyfirm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skyknow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "skylar.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sloterplas-beveiliging.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sloterplas-bouw.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sloterplas-management.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118404,7 +117392,6 @@
     { "name": "storepy.com.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "storme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stornieren.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "stratible.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "strawberry.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "strawberry.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "streamspass.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118458,7 +117445,6 @@
     { "name": "tambre.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tammvee.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tanaria.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tango-networks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tangub.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tapparellemessina.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tarasoles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118496,7 +117482,6 @@
     { "name": "tengtai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tennisversand.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tenro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tenryo.work", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teriva.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tesseract.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "test2-isrewards.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118644,7 +117629,6 @@
     { "name": "usoog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uvb.com.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "va.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "validptr.zone", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "valtio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "valueflow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "van-der-straeten.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118675,7 +117659,6 @@
     { "name": "vidamusic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vietquan.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vigasio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vigo360.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vila11.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "viladelpingui.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vilgain.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118730,7 +117713,6 @@
     { "name": "waterfordstoves.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "waterjet.com.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "waterjet.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "waya0125.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webcertificate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webdesignlabor.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "webdesignsyourway.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118741,7 +117723,6 @@
     { "name": "webyildiz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "weddingartist.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "weddingpainter.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wedl.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "weernieuws.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wehaa-server2.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wehaaserver.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118918,7 +117899,6 @@
     { "name": "19770620.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "19gold.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1atelie.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "1day.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1mgt.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1tomplumber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "1xj.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -118987,7 +117967,6 @@
     { "name": "589174.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "5dtech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "5elementostudio.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "5mustsee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "5startrucksales.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "5thmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "621424.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119228,13 +118207,11 @@
     { "name": "amr.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amsfoodhk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "amvisor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "an0ns.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "andorrana.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "androgain.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aneamia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aneirin.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "anewperspectiveconstruction.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "anfloors.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "angelineroguel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "angelnumber.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "angeltalks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119265,7 +118242,6 @@
     { "name": "apa-canal.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aparatosinteligentes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apixplatform.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "apkmodders.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apksdroid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aplaceforpops.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "apollosoftware.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119335,13 +118311,11 @@
     { "name": "autosysiniestros.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "auxmode.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avantikachair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "avanza.ps", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avenir-now.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avenir-now.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avenir-now.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "averin.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aves.asso.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "avianbrands.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avocalpo.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "axeltheune.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "axesslab.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119363,7 +118337,6 @@
     { "name": "bacanaskincare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bacq.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bad-influence.rocks", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "bagtobag.com.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "baiki.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bajiotec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "baklavabg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119387,7 +118360,6 @@
     { "name": "barrahome.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bartbania.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bartg95.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "barzus.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "basketsandmore.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bassislandline.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bathost.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119417,7 +118389,6 @@
     { "name": "bellpi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "belltech.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bempensadoconsul.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "benimseom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bentaylorforcroydonsouth.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beornish.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bepiratedo.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119795,7 +118766,6 @@
     { "name": "currency-toolkit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "currentos.foundation", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "customcircuitsltd.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "customisable.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cvgt.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cvsec.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cwglass.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119846,7 +118816,6 @@
     { "name": "dedal.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "defencemilcis2022.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dege.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dego.biz.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dekameron.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "deklink.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "demmarket.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119926,7 +118895,6 @@
     { "name": "digitalkey.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digitalmn.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "digitechseo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dijitalsaray.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dilayani.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dinamixdigital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dingguagua.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -119987,7 +118955,6 @@
     { "name": "downarea.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "downporn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "downput.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dowow.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dpasn-afpa.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dpatyk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dpc-pca.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120016,7 +118983,6 @@
     { "name": "dugle80.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dukes-london.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dumek.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dumek.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "durtk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "durvensolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dutchmobilityinnovations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120259,7 +119225,6 @@
     { "name": "fmath.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fmc.hk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foammedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "focus2career.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "focusboy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foehl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "foerderland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120335,7 +119300,6 @@
     { "name": "garder.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "garrafastermicas.net.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gaudernconstruction.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gaycum.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gazst.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gbinfo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gc22.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120421,7 +119385,6 @@
     { "name": "greenflashforensics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "greengorych.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gregscloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gridlab.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "groupe-accedia.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "groupeaccedia.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "groupeaccedia.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120467,7 +119430,6 @@
     { "name": "halepetdoorsofaz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "halmide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "halogod.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "halomark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hamarang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hamburga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hamedi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120504,7 +119466,6 @@
     { "name": "harlemeverafter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "harmogarde.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "harmonytour.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "harnov.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hascan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hashedin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hashulchan.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120579,7 +119540,6 @@
     { "name": "hineck.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hippogriffhaven.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hippogriffhaven.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hiq.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hisound.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hisource.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hispro.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120599,7 +119559,6 @@
     { "name": "hnfund.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hoangvangioi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hoaphathomes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hoegl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hoferdach.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hogwartshome.org.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hojoworks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120718,7 +119677,6 @@
     { "name": "ircnet.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "irenefellner.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ironmongeryexperts.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "irr52.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "is-real.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "isentek.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "isidore.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120751,7 +119709,6 @@
     { "name": "janslab.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jasewhite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "javaca.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jaycor.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jaysanart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jbs.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jc6.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120917,7 +119874,6 @@
     { "name": "ketupat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kevinpirnie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "keyscouts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "keysy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kezhun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kfzgewerbe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kgk-cgc.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120950,7 +119906,6 @@
     { "name": "kodjo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kokona.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kolibri.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kompass-bildung.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kondisave.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "koningerik.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kontur-buh.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120958,7 +119913,6 @@
     { "name": "konyhaelektronika.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kooner.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kopanel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "koperry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "koreaec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "koshturada.by", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "krasa.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -120986,7 +119940,6 @@
     { "name": "kyusaku.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "l2kl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "la-petite-epicerie.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "labaugmbh.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lacarretica.cr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ladystreet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "laer.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121057,7 +120010,6 @@
     { "name": "lightingstar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "likesolidaria.com.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lilaplus.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "limewtea.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "limstash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lineagelogistics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lineto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121123,7 +120075,6 @@
     { "name": "luizafigueiredo.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "luketscharke.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lumaesthetic.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lumizor.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lumpofsugar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "luolao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "luotianyi.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121140,7 +120091,6 @@
     { "name": "lwwz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lxd.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lyceum.lk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lyonsbytes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "m3-software.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "machchina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "maclayer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121243,8 +120193,6 @@
     { "name": "mati.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "matomeplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "matosinfo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "matthias-lohr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "matthiaslohr.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mattquintanilla.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mattrubin.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "matts.systems", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121336,7 +120284,6 @@
     { "name": "mjbtechtips.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mk-digital-agentur.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mlawfirm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mlohr.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mncalliedhealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "moaicar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mobcup.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121440,7 +120387,6 @@
     { "name": "neumond.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "neuralkids.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newlands-fasteners.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "newmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newpointeg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nexgenwebdesign.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nextlevelchess.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121487,7 +120433,6 @@
     { "name": "ntu.edu.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nuevodia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nukka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "nulo.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nulsc.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "numerosrojos.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nusacoco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121745,7 +120690,6 @@
     { "name": "priz-kod.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pro-marienburg.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "probiancanarias.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "prodabo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "productiveplastics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "proecommerce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "proficio.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121767,7 +120711,6 @@
     { "name": "proteinaceous.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "protekpainters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "provident1031.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "provigis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "provisionevents.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "proxyline.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "proyectomca.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121838,7 +120781,6 @@
     { "name": "raymondha.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rbocache.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rburz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rdmc.tel", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rdwz.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "readyit.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "readytocleanga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121854,7 +120796,6 @@
     { "name": "reducedlens.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "redvent-decor.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "reels.in.th", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "reflets-de-france.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "regain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "regain.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "regentsgarden.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121913,7 +120854,6 @@
     { "name": "rihui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ringtoones.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "riotest.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "riotseeds.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ripplecraft.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "risingtidecapital.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "riskbase.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121931,7 +120871,6 @@
     { "name": "roastrepublic.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "robertson-cg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "robinhallnursery.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "robinopletal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rocketbears.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rockplan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rodoanel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -121998,7 +120937,6 @@
     { "name": "saimachang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saivang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saksham.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "salework.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "saltprint.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "salus-cm.care", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sameip.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122106,7 +121044,6 @@
     { "name": "shanprop.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shaoxing.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sharehousechintai.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sharenz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sharkpc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sharptruth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shatteredarchive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122131,7 +121068,6 @@
     { "name": "shuangde.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shujian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sienafree.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sightmachine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "signorbet.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "siluette.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "silvergrand.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122317,7 +121253,6 @@
     { "name": "super60.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "superdevtools.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "superfastquintessentially.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "superiorairservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "superpollo.com.ec", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "supertape.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "supertape.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122416,7 +121351,6 @@
     { "name": "tecnovernicisrl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teeken-and-teeken.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teencounseling.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tehno-kip.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tehranmarket.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "temoclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "temogroup.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122451,7 +121385,6 @@
     { "name": "thaw.systems", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "the-buildersyard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "the-carshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "the-doorman.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "the-mechanics.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "the-pressoffice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "the1.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122489,7 +121422,6 @@
     { "name": "thevirtualhealingroom.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thevirtualhealingroom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thewiki.kr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "thewomensbusinesscenter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thhomes.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thinkglasses.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "thinkguard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122515,7 +121447,6 @@
     { "name": "tiaoping.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiaoseban.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiberia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tibox.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tidenews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiktok.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiktokshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122594,10 +121525,8 @@
     { "name": "tradingfacile.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "traditional.kz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "transcendretirement.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "transporteselsol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "traumuscol.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "traveltimeagency.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "traveltruster.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "travelwithjack.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "traza.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "treadmillrepair.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122668,7 +121597,6 @@
     { "name": "ultratrend.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unblockit.vegas", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "under6.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "unej.ac.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unganisha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "unicodeagentur.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uninatural.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122718,7 +121646,6 @@
     { "name": "velocitytech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vendloop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "venusvprincess.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "verasoul.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "verbundkredit.ag", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "verbundkredit.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "verbundkredit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122743,7 +121670,6 @@
     { "name": "videomarketermastery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "videsk.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vidtekno.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vietdungit.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vikingconcretefloors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vincemumford.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "viraly.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122761,7 +121687,6 @@
     { "name": "vledder.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vliegendklokske.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vmock.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "vmoffer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vmst.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vnback.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "vnd.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -122962,7 +121887,6 @@
     { "name": "xjtvs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn----4tb0c.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn----8sbadsuaby8bb4a7cwh.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xn----itbkhngkr2a.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--4qs85t91oq9e.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--80ack7b.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--94q57lcvpw50b.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -123021,7 +121945,6 @@
     { "name": "yuxinglong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yuyucn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "yuzneri.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "yxhc.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "z-g-v.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zbarista.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zcdtk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -123029,7 +121952,6 @@
     { "name": "zenithmanagement.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zepta.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zerohouse.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "zerout.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zetokatowice.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zeyoking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zgcbc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -123390,7 +122312,6 @@
     { "name": "briankavanaugh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brigantinebeach.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brignier.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "brooksrents.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bruckenbauer.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "brunoriguzzi.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bth.dance", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -123584,7 +122505,6 @@
     { "name": "cria.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "crland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "crunchybridge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cryptcex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cryptsetup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "csvstar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ctrips.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -123595,8 +122515,6 @@
     { "name": "dailyjigsawpuzzles.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daldropsbb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dallaslu.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dalmacijahost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "dalmatiandream.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "darshanalytics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "daskirschhaus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "datasupporthub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -123718,7 +122636,6 @@
     { "name": "eurohear.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "euroidc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "europansion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "europrojekti.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eurostoc.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eushow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "euwind.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -123736,7 +122653,6 @@
     { "name": "exclaimer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "existieren.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "exmould.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "explore-hvar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "expoavanza.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "expoking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "exponential.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -123859,7 +122775,6 @@
     { "name": "git-top-repos.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gkhull.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gkj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "globalwebtrend.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gncbilgi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goaddress.co.ke", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "goalgrass.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -123997,8 +122912,6 @@
     { "name": "horoscopist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "horsechina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "horselife.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "horvat.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "host247.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hostde.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hostingformula.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hostixo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124010,7 +122923,6 @@
     { "name": "hotrider.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hottchic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hottrain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "houseliving.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "howopen.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "htdq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "http.codes", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124060,7 +122972,6 @@
     { "name": "info2all.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "infocart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "infomatricula.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "infomir.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inform24.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "informationcost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "informations-reglementees-sfil.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124085,7 +122996,6 @@
     { "name": "issundries.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "italiasera.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ittykins.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ixiaqu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iyibul.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "j-sen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jasminedirectory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124246,7 +123156,6 @@
     { "name": "laylo.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lazynet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ldsvoicesoftherestoration.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "leadergamer.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leanheat.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "learnsurf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "leduo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124267,7 +123176,6 @@
     { "name": "letopise.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "levathan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lgmotors.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "liam.ovh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "libertybaptistmn.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lichtbildfotos.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "licoreseugenioavila.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124318,8 +123226,6 @@
     { "name": "lugaway.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "luhaitong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "luminariagames.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "luxcaravan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "lwgwiki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "macaos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "machled.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mad-eye.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124343,7 +123249,6 @@
     { "name": "mayangateway.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mb-analytics.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mc3dreal.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mcb-bank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mcg4loans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mcspsikoloji.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "meangreenjunk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124387,10 +123292,8 @@
     { "name": "mostdisturbingnews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "motards.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "motoboxbrasil.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mp3sort.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mrephrase.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "msmeble.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "mudrock4x4.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "muhanga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "multiftp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "multihoster.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124556,7 +123459,6 @@
     { "name": "okzf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oleggio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oljyakatemia.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "omb-cobra.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "omgpu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onair.ovh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "onderwereld.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124673,7 +123575,6 @@
     { "name": "payhub.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pbsuite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pcengines.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pcvalueservices.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "peas-project.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pelsu.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pensen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124692,7 +123593,6 @@
     { "name": "phpgalleria.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "piaad9.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pierrevieville.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "pinleather.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pintoselectricfencing.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "piparitaikina.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pitang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124753,7 +123653,6 @@
     { "name": "raidnet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "railsimulator.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rainnny.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rajvira.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ratbarricade.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rbgeneralcontractor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rbprosthodontics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124779,7 +123678,6 @@
     { "name": "releas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "remhomut.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "remodelate.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "rentacar3.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "rentalseleutheraisland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "report-it.trade", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "researchmarathi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124873,7 +123771,6 @@
     { "name": "schluckt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "schoolvpn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "schottenrock.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "scientificdev.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sciinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scoaladewebsiteuri.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scootersbonaire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124904,7 +123801,6 @@
     { "name": "seosuccor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "seraph.red", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "seriennummern.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "seriola.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "serviceflow.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sesuatu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sexdisk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124947,7 +123843,6 @@
     { "name": "shippingmark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shopifyfactory.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shorehamdental.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "show2all.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "showme.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shsec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shssl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -124991,7 +123886,6 @@
     { "name": "siyuetian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sketchnote.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "skruen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "skywirephotography.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slass.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slovenskej.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "slowmove.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125062,7 +123956,6 @@
     { "name": "stage-gate.la", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stagingcleargrain.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stanin.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "stardozen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "starken.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "startengine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "startit.bot", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125093,7 +123986,6 @@
     { "name": "superccd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "suplery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "surfcitylisbon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "svg.beauty", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "swiftfactory.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "swissnoso.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sxilm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125158,7 +124050,6 @@
     { "name": "tigin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tiktokglobalshopv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tilitoimistosukkela.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "timedin.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "timeregion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "timtimindonesia.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tipcon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125183,7 +124074,6 @@
     { "name": "topsuper60.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "topsuper60.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tornano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tortillahernandez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "touchfm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "touchfuture.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "touchhome.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125342,7 +124232,6 @@
     { "name": "webvpsnet.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wednesdaystips.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "weitzmangroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "welsum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "widum.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wierszyki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wificloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125379,7 +124268,6 @@
     { "name": "xlion.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn----dtbhcpoeofgcvoic1s.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--24-6kch4bfqee.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "xn--80adb4aeode.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--80adydmce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--afdbrhl-r2a.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xn--bvs24c.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125574,7 +124462,6 @@
     { "name": "753345.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "755364.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "759419.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "75dr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "78.to", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "793703.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "7fi.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125669,7 +124556,6 @@
     { "name": "aromacraft.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arpuff.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arrier.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "art-et-psyche.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artcentar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "arteid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "artemovsk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125690,10 +124576,8 @@
     { "name": "askpam.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "asodia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "assaabloy-partnerportal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "astonbysqli.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "astorfoodservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "astorhospitality.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "astorline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "astrati.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "astreaspa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "atlas.computer", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -125971,7 +124855,6 @@
     { "name": "coolcan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "copperminegallery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "copychina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "corima.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "corporatecompany.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "corribee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "coscol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126141,7 +125024,6 @@
     { "name": "dripflow.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dronedeploy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "drugrehabjohannesburg.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "ds-market.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dubboskills.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "duelcasino.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "dumbdrinker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126167,7 +125049,6 @@
     { "name": "ect-telecoms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eduba.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "edubase.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "efficientip.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eg-dev.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ekocyber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "elektrikumraniye.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126186,7 +125067,6 @@
     { "name": "enolalingerie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enrichdata.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "entreutilidades.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "eotvosoh.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "eqinfo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "equipecarriere.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "escale33bienetre.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126377,7 +125257,6 @@
     { "name": "gugao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "guillouf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "guitarchops.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gums.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gzdh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hackingdumpdrive.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "haichan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126395,7 +125274,6 @@
     { "name": "harmonyeg.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "harmonyhomeaidservices.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "harmonylife.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hashe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "havi-engel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hedoujia.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "heilpflanzenmagie.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126419,7 +125297,6 @@
     { "name": "hockingfamily.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "holidaycity.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "holidaycitywestnj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "honeyfact.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "honolulu.show", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hoodiessouthafrica.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hopf.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126488,7 +125365,6 @@
     { "name": "iptv-service.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iragoldreview.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ircube.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "isbndirect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "isering.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "isiponline.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "islam360.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126506,7 +125382,6 @@
     { "name": "itunesgiftcard.in.th", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iusedtobelieve.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "j3dpd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "j9.ag", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jacktor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jaenparaisointerior.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jahanhost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126565,7 +125440,6 @@
     { "name": "jowm-jo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "joyindex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jphev.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "jproducts.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "jsrd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "judian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "juicycrones.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126705,7 +125579,6 @@
     { "name": "linuxtage.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lirpa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "listerplace.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "listerventures.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "literaturaacessivel.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "liza.fashion", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "lo.fail", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -126845,7 +125718,6 @@
     { "name": "nebebra.stream", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nechu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nerdygadgets.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "neri.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nerispa.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nervepay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "nestinvest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -127194,7 +126066,6 @@
     { "name": "sheatoz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sheelyuu.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shesherownceo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "shiftbeyondwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shiftkey.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shiningstarlogistics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "shrinkmydoc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -127303,7 +126174,6 @@
     { "name": "staffaugmentation.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "staffaugmentation.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "staffaugmentation.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "stampix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "startparadies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stbmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stdenv.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -127359,7 +126229,6 @@
     { "name": "svrjs.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "svtemplemn.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "swabia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "swanbullion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "swebdigitalmarketing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sweetbroom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "swiftoutput.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -127520,7 +126389,6 @@
     { "name": "tokyocare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tokyosaviva.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "toldst.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tombari.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tomislava.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tootsiewootsies4d.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "topclaim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -127540,7 +126408,6 @@
     { "name": "trading-ea.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trainingchannel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "transformyourmarketing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "transportesvarelacr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "treasurechina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tridoor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trixis.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -127624,7 +126491,6 @@
     { "name": "wassermanx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "waterdogsmokehouse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "watermarkktp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "watlam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wayfarium.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wball.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wcs.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -127649,7 +126515,6 @@
     { "name": "wingover.su", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wingsung.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wkz.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wnvtech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wobler.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wogame.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "womanpub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -127845,7 +126710,6 @@
     { "name": "adachi.work", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "addyto.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adrianbotes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "advaya.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "adventalley.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "aertel.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "afadansedeparis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -127941,7 +126805,6 @@
     { "name": "av-planet.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avtoskorost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "avvocatoinlinea.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "awareservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "axiam-pc.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "axiams.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "axis.kiev.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128047,7 +126910,6 @@
     { "name": "bethlehempa.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "betoniera.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "betterhealthatworkaward.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "betterplace.restaurant", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "beveragecan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bewegungs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "bewerbungshilfe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128109,7 +126971,6 @@
     { "name": "caflou.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "caflou.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "calliesalls.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "canadahustle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "canalspa.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "capari.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "captainsavage.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128134,7 +126995,6 @@
     { "name": "catholicjobs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cbdecoshop.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cbs-engineering.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cbs-engineering.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cbs3design.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cd.net.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cd89.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128161,7 +127021,6 @@
     { "name": "chenyin.work", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chinahs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "chunghwamc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "cigrowthhack.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cine-passion16.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "cionir.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "circolopizza.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128381,7 +127240,6 @@
     { "name": "empsi-sup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "end.tf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enefit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "enekogarrido.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "englishschoolforkids.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enjoybasketball.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "enstep.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128441,7 +127299,6 @@
     { "name": "feuerloescher-arten.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "feuerloescher-test.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "finbrand.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "findallgames.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fineartbyjames.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "firstpalace.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "fisioterapialanchares.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128523,9 +127380,7 @@
     { "name": "golfshirtwholesalejohannesburg.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gon.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gorchakov.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "goroboted.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gospiritus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "gotgreendrinks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "gpatrading.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "grasdealer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "greenconcern.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128557,9 +127412,7 @@
     { "name": "healthandfitnessover40.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "healthystore.my.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hearingbydesign.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "heavyart.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hee.ink", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "heictoany.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "helendoe.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "helenmarie.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "henryhouse.wales", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128587,7 +127440,6 @@
     { "name": "horrordor.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "horrordor.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hosch.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "hosimiyasio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hosomoitruong.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hot.in.th", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "hotgis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128622,9 +127474,7 @@
     { "name": "icphone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ics-blitz.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "icycanada.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "icydestiny.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "icyeurope.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "icyhealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "icyheroes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "icywhiz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "id.wine", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128640,7 +127490,6 @@
     { "name": "ildigitale.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ilovepig.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "imbis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "imkero.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "immo-express.ag", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "immutable.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "imobiliariaemblumenau.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128681,7 +127530,6 @@
     { "name": "insercion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "inshave.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "instinctdesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "institutadios.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "institutofacial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "integratedtec.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "integrieren.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128711,7 +127559,6 @@
     { "name": "iqsuperman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ir.to", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iraklio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "iranrebate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "irreality.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "iseriemandopkantoor.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "isernogiemandopkantoor.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128800,7 +127647,6 @@
     { "name": "kronofogden.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "ksroofmaster.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kubritalk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "kukaidh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kukiulpindo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kungfudirect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "kuwabara.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128893,7 +127739,6 @@
     { "name": "madu369.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "magic5.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mahindrahomefinance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "maisonetdesign.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "maisonsdenfrance-cls.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mamaruga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mansyur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -128932,7 +127777,6 @@
     { "name": "medienhandbuch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "medmobil.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "medsilset.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "medsol.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "medyumzeyneleroglu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mefano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "mehmet.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129051,9 +127895,7 @@
     { "name": "neweraapparel.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newhour.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newpoly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "news-offerte.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newsbeat.kiwi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "newsmangas.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newsoul.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newzealandheatpumps.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "newzen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129092,7 +127934,6 @@
     { "name": "opimo3d.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "opomec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "opticalvalley.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "optimumtic.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "optimuslearningschool.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "oquedizabiblia.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "organic.pk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129112,7 +127953,6 @@
     { "name": "packchina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "packservice.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "padassy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "painkiller-tech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pakal.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "palaisfrance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "palestraspimentel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129135,7 +127975,6 @@
     { "name": "pereyda.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "personalliza.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "petchina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "peterarcherbeyondvision.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "pfe.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phisis.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "phonesky.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129200,7 +128039,6 @@
     { "name": "promocionais.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "propertyinspect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "prosport.md", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "prwebconsulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "przekazy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "psihoterapija-slap.hr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "psychiatriepraktijkutrecht.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129301,7 +128139,6 @@
     { "name": "savitar.guide", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sba4u.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sbankendnb.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "scoopcanada.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scpricope.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "scriptamanent.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "secretservercloud.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129311,7 +128148,6 @@
     { "name": "seniorwpotrzebie.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "senye.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sepenggal.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "sewingtales.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sexin.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sfbd.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sgnl.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129423,7 +128259,6 @@
     { "name": "streetvideo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stremiz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "stuhrs.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "stv.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sub-etha.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "summeracademy-china.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "sunnydeal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129468,7 +128303,6 @@
     { "name": "taojijin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tarvit.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "taxstorestalbans.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tbebkom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "te-ajut.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "teaandcafe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tebianco.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129547,7 +128381,6 @@
     { "name": "trahk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trainsnmore.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trends-24.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "tribesbeekeepersassociation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tricityrogues.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "tridindia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "trimjoinerycentralcoast.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129575,8 +128408,6 @@
     { "name": "uprawnienia-elektryczne.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uprawnieniaeuropejskie.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uroute.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "usamocha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "usatales.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "usjobmarket24.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uuuvn.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "uuzc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129627,7 +128458,6 @@
     { "name": "wanquanhe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wattstrading.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "waytogrow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "wbss.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wdkpurple.lgbt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "wdtcinfo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "web-design-singapore.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129670,7 +128500,6 @@
     { "name": "wyprawywedkarskiepremium.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "x16.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "x378.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
-    { "name": "x64.onl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xaydungphunguyen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xccc.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "xenwo.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
@@ -129752,6 +128581,4196 @@
     { "name": "zodiac.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zoeyachicstore.biz.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     { "name": "zuzulatomas.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "000aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "011100110110010101110010011001110110100101101111.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "0420.ec", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "0c.mom", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "0x0a.team", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "0x5f3759df.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "0xnull.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "100pour100print.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "111aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "14thwief.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "151farmers.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "1926lesoleil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "1cp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "1d-lsd.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "1password.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "1stopfloor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "1v-lsd.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "20220228.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2023-10.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2023-11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2023-12.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2023-7.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2023-8.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2023-9.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-1.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-10.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-11.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-12.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-2.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-3.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-4.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-5.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-6.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-7.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-8.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2024-9.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2182am.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "222aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "225225.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "25api.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "27726.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "28359.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "28865.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2c.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "2gmedia.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "333aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "365clo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3dadvance.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3dshards.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3isk.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3moorcrescent.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3ne.fun", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3r.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3sa.aero", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "3we.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "444aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "4infra.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "4paws.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "521ssl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "555aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "5iforum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "5startree.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "632863.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "666aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "777aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "7eo.mk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "804265.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "80smaniacs.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "862.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "870718.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "888aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "91-av.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "91-cg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "91-short.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "91cg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "91short.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "929392.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "934377.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "982453.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "999aicai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "9baka.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "a01sa01to.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "a13x.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aaronsmunpra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aasumitro.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aatq.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aatq.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abag.nu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abctaylor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abenteuer-kindheit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abk.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abo-iptv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "abramsand.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "absoluteblack.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ac-evalar.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accc.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "access-techniques.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accessbankplc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accessibledigitallearning.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accordinnovation.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accretexperience.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "accurainspection.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acely.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acertenoalvo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acevalar.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "achiesa.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acionistadevalor.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acode.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acoip.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acte2immo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "activegov.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "actualizarwordpress.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "acutabovetherestbarbers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adac-musikreisen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "addly.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adek.uz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adek24.uz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adhetron.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adhs.fyi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adjustablebedfactory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adld.center", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "admin-rbb-ugc-prod.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "admin-rbb-ugc.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adofestival.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adopt-dont-shop.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "adsnetwork.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aduanasgama.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "advancedacupuncture.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "advgrow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "advgrow.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "advgyan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aecord.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aefas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aeht.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aelia.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aelia.im", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aelia.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aep-digital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aeropetz.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "afantou.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "affengine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "affordablemedicalusa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agen62.asia", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agen62.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agen62.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agen62.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agen62.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agen62.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agrartermine-deggendorf.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agrartermine-straubing-bogen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agrinous.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "agrinous.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ahl.im", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ahli.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ahouansou.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aidea.ventures", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aiguideto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aimreply.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aiporn666.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aircrewportpages.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "airfal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "airixfood.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aivsasociacion.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "akaattorneys.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "akzio.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alamoranchhandyman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alandoyle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alarabiyanow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alarm.net.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alastalonmailla.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "albanacupuncture.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "albatrostercume.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "albertocarvalhosa.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "albertonplumber24-7.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alejohnramirez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ales.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alesagglo-expo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alesagglo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alexeimolina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alexjacinto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alexvdveen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alfadoc.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alfadoc.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alfadoc.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "algorithmen-lernen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "algorithms-visual.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alicevardel.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alienmag.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alldesign.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allgemeine-zeitung.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allpaydirect.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allproformation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "allyspot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alphaxb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alsol.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alternatoru.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "altharis.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alvies-laufbus.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "alware.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ambident.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ambleinn.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amcharts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amenta.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "americasblackprophet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amiabot.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amiabot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amj-smart-energy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amorekids.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amst.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "amstudiorecording.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ana-suma.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anacondasc.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anacondaswimmingclub.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "analizufa.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ancestral.beer", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "andamancapitalpartners.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "andinapets.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "andreafranceschini.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "andreas-hildebrandt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "andrewsandford.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aneclab.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anefi.com.ec", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "angop.ao", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anicloud.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anisiaclinic.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ankalash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ankarabolcahindi.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ankarahavaalaniarackiralama.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ankarahavalimaniarackiralama.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ankaraotoparca.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ankarasoket.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ankaravinckiralama.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ankastremerkezi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "annefried-hahn.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anquanssl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anthisnes.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "antikskupka.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "antonioantunesefilhos.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "antonioffernandez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "antonuotila.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "antsa.duckdns.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "anxtlevel.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "apelcinchik.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "apexsupplies.com.sa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "apfulfilment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "apido.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "apigb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "appledestek.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "appypie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aprende-a-programar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "apteka-evalar.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aptekaevalar.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aqualift.uk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aralun.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arbortechtreeservice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "archipelagoperfarecasa.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arcloud.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "areadispatch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "areeb.live", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arelektribuneriske.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "areteaudit.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arfulus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ari.beauty", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ari.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arkadium.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arkkanappp.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "armadix.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arnaudmarketing.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arneheise.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arobaz-informatique.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aromaduft.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arr.icu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arsigroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "artcoefficient.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "artdigitalmedia.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "artibirteknikbilisim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "artifactsblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "artrick.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arttill.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aru.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "arunaherbals.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aruntech.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "as-evalar.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "asahi-tax.or.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "asak.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ascend.com.sa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ashleyanderson.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "asian.school", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "askatechnicalquestion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "askatechnicalquestion.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aslansigorta.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "asna.host", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "asnaz.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aspec-md.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "assentfitness.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "assignmenthelper.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "assinare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "assinare.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "assinare.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atadawul.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atgmaildotcom.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "athenadynamics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atimevis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atlas.net.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atlasminertool.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atlcranetrucks.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atmseminar.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "atoz-gc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "attitudefraiche.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "audazsolucoes.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "audiocards.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "audiotools.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "auditeorganum.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "audumakrasas.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aulio.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aureusinvest.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "austin-dumpsters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autenti.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autismspectrum.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "auto-specifikacio.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autoallys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autogalerie-bader.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autogard.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autogenai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "automaxcovington.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "automobile.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autonome-netze.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autopartsu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autopneusdacovilha.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autospadetail.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "autovalepinturas.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "auxilium-dijon.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "auzpro.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avanse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avcone.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avenida7.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "averge.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avernis.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aviationhistorygeeks.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aviationlearning.aero", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aviationlearning.lu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aviciibook.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avidtv.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avishwebsoft.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "avvnicolaurbani.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "awawa.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "awconsulting.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "awesomebible.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "awesomesheep48.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "axtra.digital", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aycacankurt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "azicostar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "aziendaagricolapagano.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "azurenorth.com.ph", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "b2bleadhub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "b2bmuzikbank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "b8-e.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "babaog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "babindo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "babycr.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "badcyber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "badmintondk.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "badpc.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bagmutskiy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bags.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bahena.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bakkt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "baladygov.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "balaga.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "balkan-observatory.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "banker.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "banknottakip.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bankoffujian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "banthias.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "baoshuo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "baozhuo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "barattolo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bartgroeneveld.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "basecampstudios.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "basecore.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bashyconsulting.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bastotrekking.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bateer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "battleground.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "batualam88.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "batualam88.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bbxy.buzz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bcoverart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bcs-lab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bcz.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bdty.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "be-bellence.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bean-jam.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beardsorcery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bearly.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bearslakeinn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beautyrepair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beautytechpro.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beautyunion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bebebebra.bid", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bebro.loan", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bedford-hotel.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bedpage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bedskill.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beekman-relatietherapie.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beelikeus.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beeming.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "befragung.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "begabungen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "behandelt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "behindsong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "behotelmalta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beijingcloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beirasumos.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "belak.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bell-meet.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beltsystemu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ben-escort-hh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ben.ge", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "benedict-system.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "benedict-system.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "benedict.systems", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "benimhedefim.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "benward.physio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bergstation.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bernd-schnitter.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bertuah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestallid06.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestbureau.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestmicro.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestofrooftop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestpneu.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bestuurskunde.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "betonperkasa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "betreut.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "betreut.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beusefulbook.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beviu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beyondbedbath.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "beyondspacetime.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bforben.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bgh.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bhsooq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bianchina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bianya.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bibliotekarien.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bibliotekha.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bielik.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biempire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bieren.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bierrunde.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bieten.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "big-daishowa.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "big-daishowa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bigboyhub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bigbury.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bigearn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bigfold.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biggy.kiev.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bigstr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biguz.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bigwicks.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biip.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bilian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "billaltermatt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bilmerker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bimtec.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "binaires.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bindingspines.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bingbao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bingliben.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bingpo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bingren.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bingyan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bio-plus.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bioenvision.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biologyoftrauma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biomasscore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bioopto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bioreader.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "biostaffic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "birao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "birini.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "birouldeimagine.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "birpufnoktasi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "birtebrorson.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bishopjordan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bisigorta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bit.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bitcoinku.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bitcoinskoers.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bitcoinwarszawa.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bitkikoruma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bitsinex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bitstack.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bizequals.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bizmax.ltd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bizval.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bjcbd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bjlcp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bkfplaner.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "black-goldautokozmetika.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blackfold.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blackfriday-sales.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blackmarlinship.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blanchardinstitute.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blanchescornwall.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blancmeteore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blanketsofhopepa.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blau-weiss-aachen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bllmnn.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bllmnn.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bloch.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blockyflare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blogsalon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blokada.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bloom.study", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bloxtimes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blue3investimentos.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bluegrassprizes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blueit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bluinsights.aws", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "blumen-pusch.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bms-cleaning.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bn9.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boardcloud.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bohoprime.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bois-mb.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bolcaparca.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boldandbra.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bollardstreet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boneinlayinteriorfurniture.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bonjour.cm", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bookinghealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boolypan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boreart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bortoto.asia", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bortoto.fans", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bortoto.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bortoto.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bosbandarq.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bosbandarq.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bosbandarq.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bosbandarq.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bostonhealthcm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "botanical-design.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boundlessmediausa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bountiful.ag", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boutibag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boutiquecoureurdesbois.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "box.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "boynet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bpconsulting.kz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bpo.or.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "braintree.gov.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brakesystemu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brandeps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brandstof-prijzen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bresslerriskblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brian-wee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brianscluib.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brighton-canoes.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brizz.com.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brookstowingoregon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brownbagdinner.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brucemillerauto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brueche-rechner.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brunofontes.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brunorogerioadvocacia.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brusselsairlines.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "brustbeutel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bsawiberg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bseuc.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bsht.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bsolut.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bsolut.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bsolut.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bsyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "btbp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "btssl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "budexpo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "budget-box.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "budgow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "budhimaan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "budscope.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buerstaedter-zeitung.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buffaloskillgames.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buharlikoltukyikama.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buharlikoltukyikama.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "build-marrakech.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bulabanews.com.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bulba.download", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bulevard-residence.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bunchful.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buncranacarndonaghgreenway.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bundesrepublikneu.land", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buraksercanercin.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burasicanakkale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burdin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "burenservice.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buroviz.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "businessguide.co.ke", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "businessplus.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "busybee.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buychristmastoys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "buyproiptv.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bytebiter.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bztraveler.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "bztraveler.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "c3gaming.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cableiran.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cabsc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cac-hc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cacao-besos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cacaobesos.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cacaobesos.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cachorrosboss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caciquecigars.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caetanoretail.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cafelegenda.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cafesi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cag.legal", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cai-ti.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caiyue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cakaveterinerklinigi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cakes2u.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "calcsub.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "calculaseguros.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "calculatetoday.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "camanoislandpilates.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "camelotestatehomes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caminopicoseuropa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "camluck.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "camp.zone", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "camping-dulac-dordogne.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "campingdewatermolen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "canadapavilion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "canadianfraudlaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "canarabankcsis.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "candogiveguide.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cannonsforsale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caponestudiolegale.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "capstonehcm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "captaincontributor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "captchafox.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cardozovargas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cardozovargas.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cardozovargas.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cardsite.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "care.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "careerminds.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caregoportal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caremobi-prod.herokuapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "carl-otto.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "carlapoggioli.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "carlolander.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "carloshbcabral.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cartbag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "carwind.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caschys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caseykeith.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cashjankari.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "caside.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "casinoonline39.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "catam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "catech.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cathymcquaid.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "catio.network", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "catlowe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "catrinasporelmundo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "catsarch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cbdchina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cbeal-fumeirodetrancoso.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cbeal.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cbplus.tn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cbsr.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ccoic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cdkj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ce-design.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cearaleste.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cebing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cechem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cefaction.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "celebrityguard.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "celesco.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "celeste-energie.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cell-wellbeing.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cellul19.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cemade.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "centrooestemineiro.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "century-properties.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cerchio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "certificadoras.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "certum.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cesc.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cesjo.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cettic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cf.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cfdata.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cgps.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cgptplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chaanddavid.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "change-coaching-gmbh.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chaosme.su", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "charisse.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chatagoralskalipowa.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chatplanet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chdauk.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "checkjelinkje.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cheiranthus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chekaonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chem360.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chendhurcollections.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cherie-eyelash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cherrad.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cheryforum.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chiba-shika.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chiffer.nu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chikakei.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chimneytec.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "china360.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinaaero.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinaangel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinabattle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinaboxer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinacake.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinacba.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinaclaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinaclinic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinacol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinacreation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chinacrew.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chiprender.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "christianfilms.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chromamastering.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chronometre-en-ligne.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chronusgov.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "churrascariacampogrande.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "chytris.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ciadocultivo.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cible-recrutement.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ciclopico.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cideaassociation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ciel.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cimice.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cineramen.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cinshine.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "circuitdesertmaroc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cision.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ciucobirbone.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "civ.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cjc.gob.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cjcanarias.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cjcanarias.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cjcanarias.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ckdb.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "claimmosaic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "claims-bot-webchat-itest.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clarilog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clarissalund.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clashpost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cleanequip.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cleanslate.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clemenceroofing.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clevercleanout.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clickedu.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "climbinghouse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clinicadoctormit.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clip-hair.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloaker.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clonekicks.nu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloturefrost.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloud4c.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloudbook.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloudcraftmc.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cloudyun.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clubauto.guru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "clubduvieuxmanoir.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cmprecisiontech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cnp.ovh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coaching-oberhavel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coachingausbildungde.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coberturaplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "codegen.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "codemanbd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "codersharing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "codessale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "codifi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coinbrain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coinnector.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cold.world", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "colivevalues.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "collin.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "columbuscomedyfest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "combineid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "comedybox.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "comfort-light.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "complyportal.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "computechcorp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "con-ca.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "conferencebrightstartfoundation.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "confia.co.cr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "congelationpunaisedelit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "connectivityinnovationnetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "consumerfinancialbureau.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "consumerprotection.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "contactlimo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "contactme.cards", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "contalbi.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "continuum.sbs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "controld.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "controlecelular.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "controlpro.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "convexic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "conwood.best", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coolink.pub", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coolulder.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coomer.su", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coopsoc.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coproduzindo.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coriolis.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "corporateclubaustralia.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "corpus-hermeticum.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cotswoldgrangehotel.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cottagessw.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "covery.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "coz-artistic.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cozumelisparadise.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cpan.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cplsearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cps-ecobati.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crackychan.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "craftgate.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crafthead.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "creactivit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "createuniforms.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "creativecircle.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crecycle.eco", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crescendo.ventures", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crimes.media", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crix.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crm911.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crocheclube.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cronicanet.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "croonix.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "croonix.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cropme.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "croquementbon.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crosslaketech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crossmediahouse.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "croviz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crrow777radio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cryptin-it.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cryptomarketrade.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "crystaleez.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "csdurant.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cse-sna78.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cslbbs.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cswrld.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "csyxy.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ctbirding.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cuartaraiz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "curious.host", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cuzmall.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cybercrew.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cyberis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cybersecurity.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cybersecuritywerkt.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cybsafe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cycledynamics.physio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cyspro.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "cystotech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "d-diabetiki.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dafassl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "daha.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dahag-status.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dailyfictive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dailygamemoments.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dailyhomestore.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dailysportfan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dallaslife.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dalliope.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "daniela-klaus.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dannyhorne.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "danportik.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "danwin.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "danyasa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "daphnedietz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "darkbeam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "datarooms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "datumvandaag.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "davidgarza.email", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dawonelectron.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dayachts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dbasolucoesadministrativas.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dbdisco.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dccpropane.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dead-parrot.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "deadcode.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "deadvoltage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "debtdandy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "decathlonag2r.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "decoration-gateau.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "defcon.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "demcra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "deminglaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "demuzere.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "demuzere.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "denalisculpture.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "deniseeisenhauer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "denshub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "depotly.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dermko.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "derrigimlaghtokylemoregreenway.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "desentupidorakazumi.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "desertdogtechnology.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "desertheroesteam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "desinsectisation.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "detroitcrackteam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "devaland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "devcontainer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "devianthardcore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dextrahedelmallisyysklinikka.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dghyp-info.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dghyp.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dharataltv.news", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "diabetesmadrid.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "diagno.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "diamondforms.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "diamondiscaudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "didonshop.tn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "didtweb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "die-cms-manufaktur.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "die-sputniks.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "diebesban.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dieg.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digitaldoor.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digitalhabitat.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digitalpilipinas.ph", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digitalutilities.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "digitizer.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dilfed.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dimensiondigital.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dimiro.co.tz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dimitri-davies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "direct-aesthetics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "directoriodemedios.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "direitoproacademy.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dirtyscout.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "discord.do", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "discotek.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "disinfestare.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dissensionclub.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dissenttoday.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "distancionno.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "distribucionstunel.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "distribuidora-online.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "districttownship.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ditaconsultora.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "divided.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "divineprovidenceorphanage.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dixa.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "diyetlife.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dizaynspor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "djpump-diaphragmpump.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dkhf.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dkk-gaming.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dlslab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dlslab.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dlsmdportal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dm-poepperl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dmarcexperts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dmrhub.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dms-technik.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dmstechnology.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dmvape.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dmzr.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dnbalpha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dnbeiendom.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dnsmonitor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dob.com.bd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "docfusioncloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dockeryarmory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "docmbs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doctorako.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doctormit.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doctorsexplain.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dodalf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dofrancais.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doga-osusume.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dogsunderstood.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "domainedebichery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "domeinquarantaine.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "domotek.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "donateers.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "donateforcharity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "donegalhistory.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "donerite.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dongha.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "donsgroupattire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dontarriva.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doodletips.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doppler-manufaktur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dopplerschirme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dorotaorlowska.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dorsethouselyme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dos.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dosorbonne.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doubloin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "doucebnice.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dowdscatfishandbbq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dpath.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "draabe-nyt.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drasocalzado.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drasoclothes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dreamdale-fans.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dreamdale.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dreamdeity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drechsler-forum.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dreiskemoving.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drewuniverse.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drishtibeats.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "driverinthebox.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drivingschoolnearmelbourne.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drk-oberhausen-rheinhausen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drlarakiortho.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drloizides.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drmiltenbergermd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drowz.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "drschusterman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "druckereiclassen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dsosbelasek.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dsp-wiki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dstnct.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dstvinstallationsballito.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dsysav02.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dtto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dukaj.tk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dunwellgroup.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "durantchamber.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "duriandelivery.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "durianexpressdelivery.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "duriantech.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "duschfiltershop.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dutt.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "duurzaamheidskaart.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dvprogram.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dwu21.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dynamicmart.pk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dyremyhr.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "dz-hyp.ag", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "e-blueprint.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "e-coduct.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "e-insportline.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "e-latvenergo.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "e-lupo.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "e-sell.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eaglemoe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eaip.aero", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eaktarim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ealc.aero", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ealc.lu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easierexams.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eastridgeresidence.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easy2bathe.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easydone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easygoods.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easyhacks.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easyjoy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easykash.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easymultidisplay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "easyvisitor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecemella.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecfol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "echo-online.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "echosdg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "echoshine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "echung.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecochannel-ve.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecochiccottages.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecocoolrooms.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecolodgedebosuil.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecologs.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecopiscines.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecosuds.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecpa-eg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecrangamer.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ectfsaz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ecttaz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eczanesi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "edacsoft.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eden-court.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "edenvaleplumber24-7.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "edenverses.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "edging.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "edilians-group.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "edison.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "edityeet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "edmot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "educa-cao.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eesti.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eezepc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "effectivelist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "egal24.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "egbeautybar.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "egglham.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eguchi-dc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ehmann.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ehmpart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eifelstuebchen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eisenzelt.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eitt.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ekimturkgurme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ekinyalincak.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ekoport.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ekransystem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eksperiments.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elcontenido.news", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eldhestar.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "electricgatemotorsbluff.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "electricgatemotorswestville.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "electricgatemotorumhlanga.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "electrocuted.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "electrotounes.tn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elektroclauberg.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elemenik.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eletroquipsp.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elitav.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elite-fuite.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elithayat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elizabethgeren.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elizabethhospeech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elm-dental.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "elmetodofuncional.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eltohsurgery.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "embark.studio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "embuscadasintonia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eminem50cent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "emlakforum.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "emocionestlp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "emoji-symbols.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "emoji.wf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "empathhouse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "emrin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "en4rab.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enablingcommunities.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "encenna.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "encodecloud.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "encorp.com.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "endireita.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enduo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enercon.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enercontechltd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "energetic-root-medicine.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "energetikasmantojums.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enfermeira.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "englishit.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "englishvit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enlacemedik.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enticingai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "entradasrealmadrid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "entretiendevmc.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "entretienvmc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enviroli.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "enzedonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eocka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "epluse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "epsilogix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eptirgotajs.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "equals.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eriandevan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "erindesu.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ernestchemists.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "erosveneziani.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eroticspice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "erp-systems.ovh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ertekinenerji.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ertekmakina.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "es-standart.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "escandell.cat", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "escuelakaesport.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "esferipol.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "esginside.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "esgresearch.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eskurye.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "esmuefektivs.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "esormestt.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "espiritismo.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "espiritismo.lgbt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "essente.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "estacion3d.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "estiv-ales.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "estopwatch.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "etaconic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ethical-home.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ethical.quest", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "etil2jz.lol", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "euclidinnovations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "euflight.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eufraimidis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eugeneyeosurgery.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eurocontrol.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eurocontrol.xxx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "european-silk-road.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eurotecvfs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "eurozhartleys.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evalar-apteka.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evalarapteka.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evalarmarket.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evananderi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evelienstormzangcoach.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "event-register.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evergreenweedshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evitacion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evoffer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evoke.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evolusis.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "evolutiespirituala.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ewhowell.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exasapiens.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exatom.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "excelcenter.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exceldor.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exceldor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exceldorcooperative.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exceldorcooperative.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "excellenceandcreativity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exer.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exhibitionsupplies.net.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "exowellness.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "experiments.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "extendgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "extra.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ezercommerce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ezzarware.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "f1rstparking.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "faac-sloupy.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "faac-zavory.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "faaog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "faavem.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fabian-ising.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fabio.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fabricadesolados.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fabrika-himchistki.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fachcar.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "facilitate.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "factory-fan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fagyottvilag.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fahrservice-herrmann.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fajn-shop.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fakeballon.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fakehostel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fakescreen.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fakir-show.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "falkenbergthomsen.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "famreijnen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fancentro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fanqia.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "farfood.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "farmacologiaonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fast-growth.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fastshop.com.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fasttracconsulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fattyburgers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fatuta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "faul.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fautchen.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fav-hosting.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "favor-group.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "favorislotgiris.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fawave.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fazilka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fcunion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fdic.exposed", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "featurerequest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fedprint.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feelnice.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feider.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feittinf.org.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feixing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feiye.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feiyong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "felcraperak.com.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feldmaraesthetics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "felko-tech.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fenciblelaw.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fenghwa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fengmar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fengshang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fepun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ferad.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ferca.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ferdi-is.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "feria-ales.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fermentcerealesbio.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ferreirabordinhao.adv.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fff-musique.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ffn-connect.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fh.spb.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ficksahne.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fiec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fieggen.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fieldmark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fiemmeimpianti.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fightingtigerbet888.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "figibi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "file-recovery-mac.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "file.doctor", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "filebox.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fin.ddns.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "finaltouchmusic.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fincafresh.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "findtm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "findwell.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fineartofguitar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "finessedentalrancho.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "finexity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fingerreader.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "finliz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fionna.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "firesprite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "firstdent.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "firstlightfusion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "firstpub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fiscan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fisciences.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fish.lgbt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fitbizcpa.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fiumefreddo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fizmiks.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fizzpopmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flamez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flash.homes", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fleur-escort.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flexirobes.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flextyp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flightschoolusa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "florebrasil.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "florence.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "floridaindependent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "floristeriayasmina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flowerhub.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flowerwhisper.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flowsave-staging.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flowsave.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fluentos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flyerim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flygaming.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flyinghelpline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flyingmodel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "flyvisit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foamproduct.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "focuswales.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foerderverein-rimsg.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fogworldn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fokusi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "followsbuy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fonkongres.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fontenelegroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foodclub.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "forestcare.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "forevercollage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "forexhistorydata.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "forextrust.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "forgive.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "forgivemefather.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "formulasguimaraes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "forsetinncafe.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fortycreekwhisky.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fotonippon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fotoshoot.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fotosquares.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fotosyeventos.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fotoverkauf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foxlanesportsclub.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foxscribbler.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "foxspirit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fraction-calculations.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fractionalseo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "francescazambon.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "frangallegodorado.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freakmobile.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fredericdenis.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "free2find.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "free360.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freecodenew.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freedomain.directory", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freejobalerts.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freelance.barcelona", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freemoviescinema.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freemoviesguru.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "freibetrag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "frenchdays.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "frenchieskingdom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "friederloch.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "friseurlinds.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "frisil.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fruitsexpressdelivery.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fs22a.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fucksc.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fuelpumpu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fuhui-fxcm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fuhuimarket.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fuhuitrader.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fulaishan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fulyayurdumetin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "funwithbells.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "furuyadc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "furyalexmichaelides.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fusu.re", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "futunk.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "futunk.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "futuregamereleases.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fxcmmkt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fxcmtrader.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fxcmvn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "fyou.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "g-sp.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gaaog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "galfar.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "galspop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gameindustry.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gamindustri.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gaojue.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gararin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "garciaconstruction.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "garfield.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "garnerseo.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "garo.legal", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "garstonvets.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gasfitermaipu.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gates-of-olympus-app.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gavaskee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gavintang.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gayanalysing.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gbika.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gbisigma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gcautodeals.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gcmsnotes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gcustom.email", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gcwholistic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gda.gov.lb", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gebhardtinsurancegroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gebzehaliyikama.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gecbunlari.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "geekcq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gekozen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gemeentehub.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "general-directorate-of-administration.gov.lb", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "genevalunch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "genuinetech.pk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "geoapps.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "geometrie-rechner.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "geometry-calculators.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gessosaoluiz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gestcoelho.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gestioninfosolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gfcorp.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gfox.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ghll.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ghostinbox.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "giacomosecchi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "giddsmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gigalink.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gilfed.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "girisbetturka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gk-it.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "glamtoptiers.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "glanz-dienste.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "glasshouseretreat.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "glazenschuifwandenoutlet.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gleisner.legal", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "globalawakening.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "globalbroadcastsolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "globalloungenetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "globalroad.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "glosarios.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gmtelectrical.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gobebra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goclinic.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "godes-realistes.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gogleapis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gokturkfindik.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goldbar.com.hk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goldenmonrepos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goldenmunchbakeshop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goldrushenergy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goldstartransport.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goldwagon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "golfcarttips.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goliamo-vranovo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "golocksmithhonolulu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gomakemovie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gomiso.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gongdelin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gontagro.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goodiespub.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "goodwillindy.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "google0.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gordianbla.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gossr.pw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gothamcity.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gothamcity.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gotstubs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gov.exposed", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gowinit.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gozenhost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gozenhosting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gpcmicro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gpr.ge", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gptunnel.kz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gptunnel.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gpu.nu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grabowski.ovh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grabrfi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gracze.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grafnet.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grammark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "granadella.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grand-assistance.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grand-hotel-de-france.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "granddi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grande.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grandpcd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "granitehillcapital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "granitko.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gravenhage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gravide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gravity-bonanza.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gravityinvestments.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "greatchemical.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "greatlakesendurance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "green-finance.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "greenmongolia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "greenphp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "greenvillas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grenadaco-opbank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gretalfoodproducts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gretel.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gridcodestudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "groovyrelocation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grossaci.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "groupeaccedia.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "growcredit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grupoandrey.com.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grupoenergiabogota.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "grupoentregas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gruposousa.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gs-schlossberg.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gscpaudit.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gtx970settlement.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gudonghui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gugaalves.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "guiajunqueiropolis.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gulabgiri.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "guochanren.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "guruji.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "gwiazdowapark.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "h-e-a-t.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "haakonhaug.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "haberizma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "habra-adm.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hackatruck.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hackdra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "haircareology.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hairlossandscalpclinic.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "halcyon-scion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "halkegitimkurs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "haloscenter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "halt.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hanakovydny.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "haniha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "happyhabitzone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "happypets.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "happytopup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "harboursport.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hardfought.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "harmony-labradoodles.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hartdesign.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hass-server.pp.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hatter.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hatter.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hatterjiang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hatterjiang.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "haushub.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hayalmeyal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hazelwood.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "headachemigraine.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "healthcarerevopt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "healthyfeet.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "heartway.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "heathaze.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "heathercutler.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hedonics.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "helibella.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hellosayge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "helpfulcash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "helplisted.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "herbalmusings.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hergaenergy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "heritageinvestigativegroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hermes-onlinehandel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "heroesoftomorrow.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hessabras.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hessentoday.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hetwebsitebedrijf.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hevenkin.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "heylink.asia", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hhalic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hidden-audio.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hidrasecurity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hidupbisadiatur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hierdenbosch.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hifast.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "higienistkaplus.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hiking.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hilfikers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hillsfarmstays.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hillsidecustom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hinasense.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hipnosecriciuma.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hirano-shikaclinic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hiroshima-lpg-shien.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hizliresim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hjort-froik.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hl-design.co.kr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hlsquality.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hobbyhorseslovakia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hoccovua.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hochheimer-zeitung.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "holeshoes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "holidayair.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hollingsworthpaul.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hollyspringsfarmnac.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "homefarmhoteldevon.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "homemaster-chita.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "homenetworksecurity.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "homeniano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "homesteadbushhogging.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hong.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hookagency.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hop-ict.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hopict.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "horizonpainting.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "horovod.im", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "horseridingdurban.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hostbound.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hoteleldhestar.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hotelmelograno.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hotelriviera.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hotfilter.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hotnovel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hotworm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "houniaozu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "howcosting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hoyerfamilysaffron.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hozonshoku.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hpsq.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hr100.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hrbust.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hsasearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hshnetwork.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "http3.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "huangkevin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "huarenda.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hudbugcomics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hudu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "huengsberg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hugogarra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "humaneva.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "humanitiesacademicpublishers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "huoxing.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hustenmittel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hutianyi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hxchem.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hydronix-bg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hyper-spirit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hypersequent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hypofux.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "hyposoft.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "i-liren.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "i9assessoria.net.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iamtp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ianasheu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iaofirearms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ichfahre.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iconmalenetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "icrat.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "idmmovers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "idoctoril.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "idwaste.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iesledzkarjeru.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ifpay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ifylofd.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "igneada.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "igormiranda.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iia.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iibarizona.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ijpmediagroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iletiyonetimi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iletmen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "illinoisequipmentdistributors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ilovegrowingmarijuana.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iltuomedicodifamiglia.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "immi.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "immo-aval.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "immo-express.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "immo-spezial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "imnabrasive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "implicitsuccess.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "impresadipulizie.verona.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "impress-app.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ims-dc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "imumed.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inclusio.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "incn.su", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "indeco.com.ec", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "indecomm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "indiaai.gov.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "indiaforums.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "indianheadcu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "indiankart.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "indusimmigration.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inferencium.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infinityready.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infonavi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inforges.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "informal.pk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "informationnetworkwebsite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "informatiquefacile.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infosective.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infoshield.sa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infra-group.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "infrabox.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ingevorderd.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inilahgorontalo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inilahkalsel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inilahkendari.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inilahtv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inizio.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "injuryactive.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inkthedealseminars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inlights.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "innewsweekly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inno2grid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "innovationcu.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "innovativefoodservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "innovativeglass.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "innovion.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inorigo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inorigo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insblauehinein.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inshibackdrop.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insightfulpsychics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insindacabili.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inspiredentalwellness.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insportline.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insportline.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insportline.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insportline.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insportline.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insportline.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insportline.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "instaapk.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "instanteindeleble.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "institutodeoposiciones.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "institutovinton.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insultnik.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "insuredcreativity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "int-web.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intajouna.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "integralinmobiliario.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "integreatedmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "integrityglobal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intel.im", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intelledox.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intellicus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intentin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "interbase.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intercars.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intermaquinas.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intersitios.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "interverv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intimint.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intocloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "intouchtablets.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "invantive.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "invantive.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "inveris.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "investeringsgids.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "invictuscustodia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "invisia.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "invisiblesolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ipadr.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ipdistrimart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ipoac.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ipro.sbs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iptvwow.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ircstats.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "irealisatie.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iridescentsun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "irvetclinic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isabellamelodia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isbase.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "iscrizioniexpofelina.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isidrocamachodiaz.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isitmed.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isolation-exterieur-94.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isolation-thermique-exterieure.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "isolation-thermique.maison", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itaindustrial.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itakunai-shika.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "italyclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itclub.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itplace.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "itsybitsytrees.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ivpark.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "izmirgideracma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "izzy.kiwi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "j2se.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jadmaker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jakabszallas.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jakarta-tourism.go.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jakincode.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jamespreade.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jamstack.icu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "janbanach.com.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "janmischo.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "janw.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "janwillhaus.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jaredstevenson.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jarodg.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jarvisairfoil.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jasonf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jatekvasarlas.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jcm.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jellekaufmann.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jensales.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jet-lend.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jetskerijneveld.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jeveuxchoisir.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jewadianmitra.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jgc.li", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jhenwei.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jhonnyjose.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jianbai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jigidi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jigsawinsurance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jinng.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jipsnel.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jiuxue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jjofertas.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jng.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "joelbodmer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "johanaskalova.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "johnangellgrant.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jointherlworld.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jonaharagon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jonasfischer.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "josebernabe.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "josh-goodrich.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "joshspage.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "joweb.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jrbv.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jredmond.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jrnlz.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jrwebb.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jsdt.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jsgr.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jtl-connect.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jtl-connector.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jtl-fulfillment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jtl-pos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jtl-url.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jtxserver.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jucyhotel.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jucyhotels.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "judgeball.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "judobreda.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "juexue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "juhosaastamoinen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "juhosaastamoinen.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "juhosaastamoinen.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jujuygrafico.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "julesmiddleton.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "juliahub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "julianmathis.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jumpstartuat.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "junkcarbin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "junlyu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "jurina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "justice4amy.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "justice4chris.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "k-so.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "k3concert.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "k507.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "k583.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaartje.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kadeshcdc.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kadimhukuk.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaibaunderwear.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaishen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaksdelatpotolok.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaling.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kalolina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kalolina.farm", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kalyandevelopers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kamera.org.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kameya.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kamu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kamumisafirhaneleri.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kamusen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kanakdharaenterprise.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kancelaria-prawna.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kangneng.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kangzao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kanneldiamond.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kantoormeubilair.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaogong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaozhong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kapadi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kapian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kapine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "karadzic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "karakurt.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "karayollarimisafirhanesi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "karemfouad.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kargotakip.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kargotakip.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "karimunsejahtera.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "karinagallagher.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "karlis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "karlloch.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaseyhopkins.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kastrup.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "katah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "katestudio.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kavaplius.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kaveh24.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kawaiii.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kay.la", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kayashkina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kcor.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kdgd.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kdo-ma-dnes-svatek.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "keca.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kefou.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "keinanung.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kembla.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kengjoo.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kenmo.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kennedycorrentes18k.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kensewerdoctor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kenyonleblanc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "keppner.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kerstdagen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kevinscolaro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "keyroot.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kfh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kfk.haus", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kidiu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kidz.school.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kiewit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kiezlerovi.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kilian-sommer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kiliansommer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kiliflix.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "killenny45.hopto.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kimoo.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kincai.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kinderhilfe-nepal-mitterfels.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kinerehabqro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kingandi.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kingautodetailing.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kinkyspa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kisbridgingloans.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kita-bicibici.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kjg-dossenheim.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "klaspas.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "klaviskripta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kleenkraftservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kleineserver.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "klinikum-oberberg.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "klinlab.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kmeditour.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kmoes.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "knapp.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "knblog.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "knirps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "knirps.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "knirps.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "knirps.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "knispelonline.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "knoffyoga.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kobikian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "koehn-consulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "koehn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kohama-obgy.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "konkasidiaris.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "konta-swiss.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "koproskylos.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "korhonen.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kosmiq-it.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kotakonkrit.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "koubie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "koucha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kovroedov.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "koziknet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kraavi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kraemerlaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "krause-outlet.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "krausekauft.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kreslomeshok.by", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kritatechnosolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kronosnxs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "krs.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "krvtz.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kryddveitingahus.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kryptowale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kuai-ssl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kubo.pw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kufry.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kulttur.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kumaslar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kumidia.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kunchan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kundenstimmen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kunzha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kvasnytskyi.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kwm.group", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kxc.sh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kxc.tools", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ky188.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ky89.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ky99.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kylsgl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "kyoki-railway.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laaldea.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "labarcadelperegrino.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "labianstore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laboiteafred.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laboma.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laboratoriodelmisterio.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lacarreradelagua.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lacht.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lacoe.edu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lacrinum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lady007.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ladybanana.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lagence.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lagom.org.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lahalleternative.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lakru.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lameilleurecette.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lanahallen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lanailsupplies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "landers.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "landless-city.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lanelane.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "langmei.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lannywolfetrio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laomoss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laplanquedujoueur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lapositiva.com.pe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laramuredesmots.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lareineboudoir.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "larkbury.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laspilas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lasttokengaming.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "latticepointconsulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "latvijasvejaparki.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laundryshoplocator.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "laurakentowski.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lavavetri.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lavoretti.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lbsg.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lbshoes.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lchardingplumbing.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcl-cargo.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcv-psi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcv-psi.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcv.bio", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcv.email", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcv.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcv.lgbt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcv.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcv.psc.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcv.rio.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcvleo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcvmail.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcvmasker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcvpsi.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lcvtech.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leadcalyx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leadtrend.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leafurban.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "learningisprogress.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lebanonscafe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lebarmy.gov.lb", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lebeat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lebesgue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leckererezepte.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leclercbrico.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lee.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leee.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "legalbeagle.com.hk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "legendofdragoon.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "legrimoiredessenteurs.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leicestermoneyman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lemon.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leola.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leonieslonging.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leopastel.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leoservicosetc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lepatch.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leplayer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "les-universalistes.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lesfurets.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lesmajuscules.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lespasseursdelivres.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "letec.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "letic.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lewebdantoine.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lewig.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lextechsuite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leyhorizontal.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "leyouyou.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lezzetlitatlitarifleri.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lgtrees.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "liam.bzh", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "libreai.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "librechat.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "libreview.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lifefaithtruth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "liferay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lightupkapiti.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lilypad.gg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lind-bohanon.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lineacreative.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "linguword.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "linkare.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "linkare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "linkare.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "linkare.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "linnaclinic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lion-king.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "liquidfusionmarine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lirui.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lisnail.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "litespeedanalytics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "litteraturkanonen.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "littlefool.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "littleqiu.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "littlesouthafrica.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "livebeachcam.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "livingdex.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lixx.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lizcheney.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lizhihezi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lkff.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lobbylmb.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "localisedseo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "localops.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "localseogurus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "loceryl.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lockings.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "locklegal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "locksmithglenvista.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "locstars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "logoku.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lokmon2.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lookshops.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lookshops.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lopia.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "losartesanos.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "losgastricos.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lostandfoundmember.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lostgeek.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lottcarey.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "loveherass.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lpsolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lricountry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lrp-autorecycling.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lskgreengroup.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lsquared.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lu0.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lubrind.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lucasvieira.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "luckeyproductions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lufthansa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lukaschiu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lunchcafe-inderoos.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lupa.mk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "luulosairaus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "luxmedprotez.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "luxulyanvalley.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "luxury-tours.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "luxurymedina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lvm.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "lvnya.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "m-i.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "m-mail.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "m-ses.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "machnho.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "madvoxel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mafaweb.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "magicbroccoli.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "magiskzip.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maib.tas.gov.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maie.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "main-spitze.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mainone.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mainzer-allerlei.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maiorapostas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maison-du-mineur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maisondelafigue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maisongabrielle.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maisonrouge-musee.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "majorcore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "majorsanat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "makemefiler.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "makemyassignmentbest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "makemynewspaper.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "makenterprisesllc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "makermiles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "makermiles.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "makermiles.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maksibetgiris.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "malcomterry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maleaccess.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "malechastityjournal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "malestrippersmanchester.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "malwarez.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "manaenergija.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "manchopancho.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mangas.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "manhwasco.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "manku.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "manofmany.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "manualsnet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marabumadrid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marchenzen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marchukov.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mariapanina.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marinerfinance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maritimeinstitute.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marketqu.my.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marlonbellmann.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marlonbellmann.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marmarahastanesi.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marmelab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marrakech-tours-in-morocco.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marrakechauxiliaire.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marrakechtriptours.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "martastandzoninteriors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "martinarnold.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "martinmaze.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "martinsouza.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "martinwhelton.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marvellbenefits.cloudaccess.host", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marvelouspainting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "marymount.edu.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "masking.my.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maskmail.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "massagehabits.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "massagetable.shop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "massaggi.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mastercoursereviews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "masterinchess.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "masterprophetlibrary.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "masumitsu.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "matthewaker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mattmarkel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mattmarkelmedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mattmatters.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mattsmissionblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mau.bot", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maulia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mauritsverelst.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mautwelt.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maxalbanesi.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maxcash.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maxfee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maxiclin.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "maximusuk.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mayiadvise.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mayknow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mbong.kr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mccormicklaw.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mcgowansac.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mcroyal.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meaningfulbits.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mebeliside.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mebinrobin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mecanique-casa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mechatrolink.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mechsoftgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "med.aid.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "medd.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "medicininismetalas.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mediolan.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mednews.net.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "medservice.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "medsync.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "medvidi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meetsummer.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "megahertzdesigns.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "megavoyages.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meierjia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meilleur-casino-bitcoin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meinadultportalcheck.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meinkonto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meinpalestina.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meinpflegedienst.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meinstift.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "melillimonartesania.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "melulu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "memecoin.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "memoryoflight.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "menlo.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mensaj.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "menschenfresser.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "menuchina.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "merelaager.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meritec.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "merylholloway.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mesjumelles.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metaintro.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metalpacking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metamorphouse.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "methol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metizsoft.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metodomontessoriano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metrohd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metrss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "metrss.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "meyersconstructionandconsulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mezzehuis.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mfa.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mgaconsulting.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mgc.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mgldiffusion.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mh2.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mhg-platform.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mi.ras.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "miaohua.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "miaowo.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "micdagostini.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "michael.band", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "michaeltittes.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mick.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mickey-krasilnikov.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "micompa.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "microgroove.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "microland.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "midcolumbiainsurance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "middle-way.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "middleware.services", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "midnightdojo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "midtownflooring.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mielboreal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mifuturo.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mightytips.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "miitec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mijnstembureau-beek.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mijnstembureau-haarlemmermeer.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mijnstembureau-weert.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mikaelkulig.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mikebolynnbuilders.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mikewieland.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mile6.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "millennialbella.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "millenniumark.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "millerfamilyfarmtx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "millermotorswestbank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "milligan.edu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "millionmakers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "milor.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mindflowmarketing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mindtickle.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mindywalker.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mine-temoin.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ministryofvillas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "minkafighter.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "minkymoon.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "minnekort.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "minng.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mintblau.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "minuten-drogentests.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mipesa.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "miramichireader.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mirrormirrorhairstyles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "misaki0.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mishrahome.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "misk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "misw.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "miticobikes.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mitik974.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mittelhessen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mj-reit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mki-igrushki.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mlaschool.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mlelieveld.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mlshhz.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mmav.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mmbrands.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mnocea.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moattitlesecurity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mobile-pandas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mobile.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mod.gov.lb", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "modafinilwizard.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "modafinilwizard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "modamia.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "modding-forum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "modeldentalab.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "modelisme-rc.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "modeopfer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moderndayprepping.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moebeltaxi-berlin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moldcam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "momistudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moneyextra.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "monhomecinema.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "monicamallampalli.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moniva.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "monnai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "monstahcapital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "monster-ryot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "monsternet.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "montelescope.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "montha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "monvalleyphotos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mooreautoglass.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moova.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "morleyeaglesteeball.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moroccotravelingcars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moroz.cx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "morshedinterior.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mosam.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moskvitch.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mostquoted.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "motorspeed.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "motorz.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "motoscooter.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mototsi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mouldmarket.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mountainprotocol.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "moveissul.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mowsey.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mpiac.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mragroup.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mruniver.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "msklawyer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "msrf.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mtpleasantchiropracticsc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mttoubkaltrek.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "muac-innolab.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "muanhamy.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "muc.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mucustoms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mudla.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mugdost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "muhammadal-behairi.clinic", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "muiderberg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mukli.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mumble.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "murena.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "murzallawfirm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "museeducolombier.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "musetti.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mushroomnetwork.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "musiikkiohjelmapalvelu.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mutualcootradecun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mx86.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myasoberry-halal.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myatipfile.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mybaticloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myclasscam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mycorbookkeeping.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mydirtyclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mydirtyhobby.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mydirtyhobby.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myfpvstore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myloft.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mynaui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mynxtcld.spdns.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myphotoprism.spdns.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myqrreview.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mysecurityevent.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mysoftbtrans.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mysoftebelge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mysoftlonca.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myspa.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mysteryboxes.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "mysticgate.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "myvau.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "n.rich", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "n03.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "n2oclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nafto.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naga.im", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nageler.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nanaya.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nanosene.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nanostix.com.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nanucchy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nanxincang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "narcocheck.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "narealcomadai.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nasalsnuffreviews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naseemsportstherapist.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nasic-japan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naszakasa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "natchezss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nathaliesavale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nationallydeveloping.com.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nativemeadowshoney.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naturalbadbreathcures.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "naturalhealingguides.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nautholl.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "navyfederal.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nawasyo.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nci.systems", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ncionline.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neilcaruana.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neilyanto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nekb.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neofinancial.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neolinfx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neolininvestment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nerdplusart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nerdvault.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nessaesthetics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "net2host.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "netbit.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "netfusion.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "netmagellan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nettoyage-hotte-restaurant.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nettoyage-syndrome-de-diogene.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "networkcoverageplus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "networthtracker.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "netzwerk-kinderschutz-msh.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neureichenau.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neurochirurgie-hamborn.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neurodiversum.space", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neverlant.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "neverlant.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newdunite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newedgeink.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newmap.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newsinplanet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newsweekme.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newtags.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newtodrones.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "newyorktoutsimplement.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nexitdata.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nflo.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nftdelegation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nguyenfamily.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nho.do", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nicheosala.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nickserv.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "niko.lgbt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nikodev.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nikoniko-dental-premium.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nimes-ales.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ninnen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ninoo.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nintendo424.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nipn-nutrition-platforms.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "njeri.codes", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nkrf.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nlpperformance.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nmindepth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "no-bet.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "no-dev.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nod32.com.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "noirmalenetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "noiz.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "noktadetectors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "noktadetectors.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nolovus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nopassword.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nopasswords.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nordcom.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "norddevelopmentgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nordex.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nordhealth.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "normandie-bienetre.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "normandiereiki.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "norveg.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "norwayfashion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "notamo.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "notariosbcn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "notrid.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nouricompressor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "novanta.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "novaofcalifornia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "noveltr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nowonline.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "noxh.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "npclimited.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nqeshonline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ns-hook.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ns0.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nsapb.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nsjbio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ntechp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ntj125app.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ntsmetrics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ntxsolarandconstruction.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nub.so", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nubeaustral.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nucleus-co.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nudeai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nuernbergwillwandel.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nuetel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nupixemedia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nutrineyfelipe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nvd.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nvzhlv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nwarskin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nwn.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nwrp.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "nyxapp.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "o.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oanclothing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "octopoos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oecherrezepte.duckdns.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "official.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "officialzzstore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oficios.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ogcurated.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ogrencimerkezi.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oldemilllandinghoa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oldports.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "olives.my", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "olmet.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "olympusx.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "omarflorist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "omarh.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "omarhachach.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "omarhachach.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "omn.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "omroepbaarle.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "on-find.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "one24exp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onefabday.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onewhim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ong.or.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ongewenstretour.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "online-heldin.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onlinedivorce.lawyer", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onlineglassesreview.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onlineordersnow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onlinescams.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onlinetntj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onlyfans.love", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onlyperson.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onurozden.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onwing.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onyxeg.estate", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "onyxfic.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oooaltera.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "opap.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "opendisdata.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "openinframap.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "opentenders.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "openwebstandard.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "opforintel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "opteam.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "opti-net.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "opticstest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ordfejd.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "originalbee.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ortelius.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ortelius.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "orthoquest.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oryva.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "os33.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "osaka-culture-art.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "osi-systems.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "osmdroid.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "otaku-treasure.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "otosu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ottenere.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ouaie.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ouinex.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ouiouibunny.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ouiouibunny.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ourvau.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "outcomes10.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "outdoorsytravel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ovelhosabio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ovelhosabio.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ovni-owners.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ownhosting.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "owo.li", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oxforduniverse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oxxengarde.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oyakyamacevler.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oyemobile.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "oyemobile.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ozantravel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ozelmarmaratip.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ozyurttesisat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "p35consulting.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pacas-solution.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pacificscience.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paegae.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pagamesssddr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paigejulianne.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "palacezamkidwory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "palazzodellasalute.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "palcomar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "palkiviadika.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pandagiftimport.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pandalab.care", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "panneauxpropres.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "papagaj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "papi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "papieri.dental", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pappubracelet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paravielfalt.zone", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parentpay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parfumuri.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parikmag-pm.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "park.gd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parker-pllc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parkers.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parkettlegerhandwerk.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parkingtoday.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parkujkladne.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "parmenide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "partilino.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "partnersconsult.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pasteleriaflomar.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "patiliyoruz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "patimbanservisindonesia.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "patmond.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "patriotbailbondsdenver.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "patriotinsurancebrokers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paulmolloy.guitars", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paulmolloydesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paultrans-muenchen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "paulzakin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pay.construction", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pay.dance", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pay.flights", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pay.insure", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pay.investments", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pay.kitchen", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pay.rentals", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pay.solar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "payscevennes.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pc-service.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pcdn.cf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pdf4pro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peacekingpod.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peerhomework.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "penfold.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pengrun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pension-haus-sonnenschein.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peoplecareeyesandteeth.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peoplecarehealthinsurance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peoplecarehealthinsurance.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peoplecareopticalanddental.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peoplecareopticalanddental.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peoplecareopticalanddental.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pepenero.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "perceptive.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "perfect-servers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "permanentnyj-makiazh.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "permaset.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "petaladdin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "peteryoungfineart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "petras-pfotenuni.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "petrotamin.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "petsidea.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "petwood.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pfarr-rad.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pfirsich.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pg-it.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pgit.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pharmacie-dufayel.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pharmacology.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pharmacy-evalar.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pharmacyevalar.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pharmadrugtest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "phg.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "philipstewart.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "phishguard.sa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "phoenixcargo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "photoelastic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "phpadmin666.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "piantami.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "piccolotrasloco.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "picturesoverstillwater.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pidgi.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pielgrzymappka.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pierpaoloamarante.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pietcees.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pietredirapolano.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pigment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pijian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pijiutuan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pilkkuvirhe.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pilsner.nu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pindercooling.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pinkshow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pinkwatertaxis.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pinmeto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pinnaclegroupgc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pinoy-santi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pinterestvideo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pintosgatemotors.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pipefishdigital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pirate-proxy.date", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pissflaps.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pissflaps.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pixaise.pics", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pixedigital.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pixellent.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pixemoji.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "placepay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plamofigure.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plantacioneseltejo.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plantvation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "platitudemusic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "playandspin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "playhothand.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plomeros.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plougastel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pltyw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plumage.so", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plurr.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "plurr.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pm.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pmgroup-global.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pmhobby.com.mt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pocketoption.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pocopizza.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pocztex.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pog.im", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "poggensee.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pogrebisky.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pole-mecanique.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "policies.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "polidelia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "polismar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "polismar.uy", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "polymath.pm", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pomologie.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "popmate.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "portamarket.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "portent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "positivetherapy.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "posteo.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "postmelody.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "potomacanalysis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pourquoityrannosauremaispassi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "powderlife.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "powerenglish.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "poznajteneryfe.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "practical-lean.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "praktijkmarula.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "praktijktamaravanoers.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pralaw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "praveenjuge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "precisionchiroct.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "precoro.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prematur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "premier-pallets.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "premierconveyors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "premiery.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "premlall.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prequence.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "press-lent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "presseecho.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prettycoffee.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prettydirtyteens.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prettyrun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pricegg.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "priczone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prima-herde.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prima-kuehlschraenke.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prima-mikrowellen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prima-waschmaschinen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "primarydomain.us", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "primeestates.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "princearmoryacademy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "princh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "printperfect.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "printyour.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "priscillacouto.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prisonbird.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "privacyforpatriots.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "privacyguides.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "privacywe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "privatamateure.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "privatecredit.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "privcom.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "procarmotors.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "procostamar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "proculair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "proculair.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prod-bp-geotab-api.azurewebsites.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "proelectro.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "proffbar.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "profitsunraveled.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "profixcap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "progressivetree.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "project-one.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "projectcompassion.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "projectobsidian.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "promochevrolet.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "propco.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "properwills.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "prosamineira.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "proservice.website", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "protecaodns.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "protek.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "protocoloantiotario.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "protranslate24.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "provincialrubber.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pruebasrapidasdrogas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "przybysz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psa.org.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psi.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psicologia.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psicologias.rio.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psicologo.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psilly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "psychoesprit.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pttgc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pttrains.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "publiccdn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "puchshop.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pueblosamerica.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "puiying.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pulitoperfetto.ddns.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "punkrestaurant.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "punpoetry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pupilgauge.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "puppygock.gay", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "purecreative.digital", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "purewealth.cloud", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "purrclaws.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "purwantara.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pusera.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pushponline.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pvp-factions.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "pyxalis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "q-cup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "q-gen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "q-mami.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qasphere.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qconomics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qhmj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qiabu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qianpi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qiaojiashan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qicaixiang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qicang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qidong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qigehl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qilianshan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qinxu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qiongmai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qissajewels.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qkart.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qnck.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qoostudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qq201314.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qrcodes.tools", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qrprincipal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qtao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qtoy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quanpan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quanqu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quanshe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quansong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quantto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quantumca.com.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quantuminks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quantumshade.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quanyou.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quarantined.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quark.com.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quark.house", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quark.waw.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quarklab.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quartus-residentiel.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quasarcr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quban.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qubitoss.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qudong.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "queenslandtonguetieclinic.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "queerasfolk.lgbt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quegeeks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "querycat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quickbooksguru.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quickdog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quickengine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quickpin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quietbed.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "quiten.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "qweb.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "r-re.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "r-reabilitolog.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "r4fo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rachidmoroccotours.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "racialmisclassification.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ract.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ract.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ract.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ract.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ract.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ract.net.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "radierprojetos.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "radiobahena.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "radiovale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ragdollrecon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ragic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rahgame.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rahrahstudios.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "railsafetysystems.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rainband.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rainbowapromise.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rainbowheart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rainbowplayschool.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "raitotec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rakor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rakweb.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ralphdeal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rammin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "random-numbers.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "random-password.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rany.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rasmera.ddns.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ratd.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ratinger.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ratingus.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rauhenebrach.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ravalement-facade.paris", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ravalement-facades.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rayphone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rayzer.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rcclub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rccrush.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rcyy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rdmc.academy", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rdmc.sn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "realactionslots.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "realitydudes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reallyone.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "realpaella.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "recambiosdaycar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "recat-project.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "recepturapiekna.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "recinzione.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reclinerfactory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "recollection.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "recovers.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redcursor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reddj.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redemancy.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redfoxwebdesign.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redgermany.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rediafile.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redirect.works", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redseasons.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redvau.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "redwaterhost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "regacentro.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "regex.bingo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "regioinfo.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rehabilitologist.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reholi.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reidodice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reinfo.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "remotedxb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "remploy.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "remsoft.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "renovation-interieur-paris.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "renovation-maison.paris", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "renovationsatl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rentalsport.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rentbasements.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "renyang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "repasi.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "repo.today", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reptilescan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "requestio.pp.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "resale.condos", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rescuemycar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reset12.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "residencepanoramique.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "resivibe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ressourcement-interieur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "restaurant-neuemuehle.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "restaurantmadeinitaly.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "retro-gaming.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "returnearly.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "revampdigital.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "revive-me.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rewisto.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reytorogroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "reztudio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rfphero.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rgalmanza.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rgnext.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rheinmetall.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rho.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rhsb.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "riaszto-szereles.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ricettedellanonna.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rickelrath.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "riino.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rileys.club", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "riri-tendedasole.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "risa.chat", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rise-hypnotherapie.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "riterry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rlan.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rlptoday.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rmodular.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rnest-maintenance.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roastely.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "robinsonsmalls.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roborehber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "robs-info.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rocketrubber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roder-skarf.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rodrigocofre.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roels.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "romantischetuin.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "romb.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roofcheckmate.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rooftopapp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roommomrescue.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roomstr.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roosendaalsbiergilde.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roosendaalsbockbierfestival.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rootdo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rootdo.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rooter.group", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rootergroupinc.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rootperov.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rottadeifenici.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roundtechsquare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "royalcaninevent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "roztilefona.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rsdantyslab.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rsgnl.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rsl-hilden.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rsol.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rswm.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rte.email", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rucinscy.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ruebli-kurier.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ruhrpott.rodeo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rundum-sorglos.digital", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ruthlavidente.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ruthmontenegro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ruthmontenegro.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ruzomberok.bike", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rvcamperguide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "rwb.charity", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ryan.black", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ryan.cafe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "s-5-university.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "s1l3nt.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sa-studio.ltd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sabasseguros.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sad-ko.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sadesign.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "safefly.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "safiafashion.kz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sahilbahl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sailmail.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "saintspicious.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sajetekengineering.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sakaritsa-residence.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "salasanakone.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "salesforce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "salient-dialers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "samoacapitalradio.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "samsungbiologics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "samuelgd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "samuelsxpress.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sanderscreditrepair.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sandersmontalto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sanderspies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sanderstaxpro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sandtro.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sanskarexam.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "santeriasanjorge.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "santswebdesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sarah-huenten.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sarahsommer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sarkaridomain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sasthyaseba.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "satya-insights.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sau.cy", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sauravdas.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "savchook.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "save-your-bitcoins.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sayaraautoservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "saymonz.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sbimtopografos.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scary.cafe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scenic.camera", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scenic.gallery", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schattka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schedule-editor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schedulehero.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schibsted.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schibsted.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schibsted.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schibsted.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schibsted.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schibsted.se", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schindler.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schindler.co.il", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schindler.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schindler.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schindler.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schindler.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schindler.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schindler.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schmidal-et-fils.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "schwub.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scimaxglobal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scmitchell.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scooters.ltd.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scorpiogroup.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scottsautocarrier.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scpreplay.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scrapmetals.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scsp.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scubly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "scuola-e-cultura.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sdb.aero", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seallacres.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seanein.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "searx.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sebastian-reck.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "secondversion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "secret-garden.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "secretcharm.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "secretsbynature.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "securelogin.nu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "secureobscure.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "securesnacks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "securetaxcpa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "security-headers-dot-testing-sb6.appspot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "securitydelta.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "securitytalent.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seekicon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seerist.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seerr.ddns.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seg-tox.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seil.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seintec-ec.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seishinan.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seize.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "selatv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "selbst-schmiede.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sellers.market", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "semaine-cevenole.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "semver.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sensoriels-by-crealyne.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seo-inc.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seogilog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seoinc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seospecialist.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seowebsite.tools", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sepehrbayat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sepehrmahan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "serenesolutions.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sergiozygcunt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "server-kiste.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "server.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "servertechsupply.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "serveurs-minecraft.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "service-auto-baneasa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "service-compris.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "service220.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "serviceautobaneasa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "serviceautobaneasa.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sesardeploymentmanager.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sesardm.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "setzzy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sewersentry.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sextpanther.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sexworking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sexyhub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "seyyarelektrik.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sga99.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sga99.fun", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sga99.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sga99.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sga99.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sga99.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sgbarker.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shaik.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shamokit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sharedalbumsf.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shawmutdelivers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shbkfw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shitdefined.net.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shitpostingmain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shivalikbank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shobujtech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shopacer.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shoptin.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shoptions.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "showbetgiris.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shropshireautonomy.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shushuwoa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "shy4evr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sibpizza.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sidianbank.co.ke", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sidik.web.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sightandsound.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sigma-apartments.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sigmaits.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "signaldc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "signalstart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "signatureproduction.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "signetfm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sijem.si", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sikkim.gov.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "silkroad-iraq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "silvera.com.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simon.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simoneskitchen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simonetti.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simonita.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simpele-recepten.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simplebutcool.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simplydrivennapasonoma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simplyeducate.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "simplyfuture.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "singaporeccc.org.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sirkusteemuriihela.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "siscowebcrm.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sistemaseinformacao.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sitcopharma.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "situs.web.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "siw.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sixpack.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skalniak.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skatteankestyrelsen.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skincarequeentv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skischule-sinzheim.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skitourmag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skodapreowned.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skrundz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skrundz.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sky-dogs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skym-mc.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skypc.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "skyvr.mx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "slajeslag.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sldlcdn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sledgehammerti.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "slicedpies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "slime5.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "slipandfalllawyerhelp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sm2ct.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smartasset.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smartcloudconnect.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smarthomegain.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smartlaw.com.sg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smartseatravel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smb-bsa.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smbc.direct", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smeuj.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smiletraindubai.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smith-solutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smogdog.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smoninstitute.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "smwenglish.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "snippet.press", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "snowpaws.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "so-academy.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "societedescompagnons.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soelystsaebe.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sofasia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "softwearautomation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sogetrel-tn.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sogno.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sogut.bel.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soilscapesolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "solarity.coop", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "solcyber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "solitaire-game.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sollet.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sollet.live", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "solut.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "solwayfeeders.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "somosbrujas.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sompohorizon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "songsigrewupsinging.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sonicautomation.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sophiatazar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soqor-damam.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sortly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sorumatik.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sotrom.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soul-of-style.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soulberber.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "souris-gamer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "souvenir-fashion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "soyinstalador.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sozlervereplikler.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spacelabshealthcare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spaculture.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spanishenglish.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sparkpluguniversity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spb-clean.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "specialisedlightingandtorches.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spectrumreachadacademy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spectrumreachpayitforward.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "speedcrown.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "speeduse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spendlinq.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spicevidsgay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spinchcasino-gr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sportanaliz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sportli.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sportslim.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spotifystars.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spotsolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spotwelders.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "springer-berlin.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spritzt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sprzataniepopozarze.com.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "spurhaus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "src.pp.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "srishtifibernetnetwork.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ssetechnologies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ssl.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ssl888.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sslcloud.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ssltrus.com.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sslzs.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "staiprefa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stakeholders.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stakingjobs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "staltrade.uz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "starcubix.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "staring.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "starless.one", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "startupgov.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stashbase.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stashcast.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stashport.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stashseed.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stasiniewicz.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "statenislandonlinecremation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "statsme-app.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "statusboard.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stcet.ac.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steelframejourney.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steelnavi.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steleentechnischevraag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steleentechnischevraag.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steleentechnischevraag.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stemoplinks.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steplab.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sternschnuppe.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "steroide-legal.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sterr.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stevensontaxservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sticksandstonesland.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stiira.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stimage.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stimex.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stimpatico.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stockportspiritualistchurch.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stoicsimple.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stone-guru.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stone-support.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stoneydsp.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stopsafeguardingnow.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stora.mn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "storageioblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "store-en-stock.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "strangeminds.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stratum0.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "streammasterpro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "streepjescodelezer.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "streetbasketball.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stressfrei-marceva.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "strike.money", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "strizh.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stromsparen24.at", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "student.faith", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "studioroxo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stundenplan-editor.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "style-keeping.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "stylishweddingdisco.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "styrerommet.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "subcero.com.ar", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "success.pp.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "successible.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sucks.rip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sucolab.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sucomado.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sugayaganka.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suhsport.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suidouraku.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suitebase.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suitemail.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suitesafe.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suiteuser.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suitsandboots.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sujoy.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suksiriwan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sullinssudspressurewashing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "summerschoolcybersecurity.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suncrypto.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sundalandia.pp.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sunjie.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sunmantechnology.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sunnybar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sunpediatrics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sunstyl.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "superfinancial-dorsetbranch.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "supermarketkibris.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "superpart.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suplemaxperu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suplementosmrly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "supporthost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "supportingspeciallearners.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "supremeexclusivecandles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "surfbluewave.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "surfingshare.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sussmanshank.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sustainabilitysmartips.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sustaineukraine.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sustainimum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sustainimum.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sustainimum.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sustainimum.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sustainimum.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "suzhehui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "svcs.pp.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "svetkuenergija.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "svitilny.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swdb.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sweeppeasweeps.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sweethope.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sweetsideofsweden.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swisshex.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swisshex.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "swunmath.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sydmoen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sylviemifsud.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sympa-by.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "syncpal.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "synlab-recrute.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "systemsoftwareleader.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "sytoshine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "szakszervezet.work", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "szamotulskanocnapiatka.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "szektor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "szotkowski.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "szpf.tf", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "t-pravda.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "t-so.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "t.ee", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "t.rip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taakjhaknews.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taboomale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tabu-bodywear.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tadinfos.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taitin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taiwancpa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taiwanstudy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tajemno.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tak.gov", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "takotv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "talentio.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "talentmill.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "talesfromthebigpig.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "talesofrashidun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tampus.chat", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tanakayoshihiko.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tangemann.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tangubpatientmonitoring.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tanken.fyi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tankture.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taojiudian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taoshengyi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taosinjurylawyers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tapis-souris-gamer.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tasnomanija.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tataog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tatarsecurity.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taticul.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tattoo-artist.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tattoo-family.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taviskaron.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "taxivip24h.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tbsstrong.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tcgc-adms.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tcn.news", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tddaij.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "te9.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teagardenspa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "techblue.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "techdocscove.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "techeasyblog.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "techgurubiz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "techlevel.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "technicaltoolboxes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "technician.academy", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "techniquetechs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teefashionstar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teevahasa.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tefline.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tefoley.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teknikplastik.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tel400.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "telavivtips.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "telegaon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "telegazeta.com.ua", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teleoposiciones.es", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teleopti.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "telpotas.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tengdi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tenue-traditionnelle.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "terracapital.ma", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "terracore.hu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teslatr.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "testantidrogarapidi.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "testdrogue.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "testscorpiogroup.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tetam.dynv6.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "teuto.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tezfab.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "the-nose.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "the.gd", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thealphaconnection.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thebarrens.nu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thebbfoundation.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thebeardeditdad.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thebigbouncetheory.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thecityscene.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thecodest.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theconcierge-international.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thecoolbrain.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thecrazyones.hopto.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thecursedmercantile.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thecyclistchoice.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thedailyexercise.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thedanceranch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thedarksideofhumanity.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thedomainrobot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theerneshot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thefutureforward.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thegioicovua.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thegreenhead.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thehealthshed.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theixiangrand.gr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "themagicalbohemian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theminimalistentrepreneur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "themountsomerset.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thenursery.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theoffsetbinary.co.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thepreachersportal.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "therapysearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thesubsequent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thetipo.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thetipo.it.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theuneundtheune.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "theunstudiedyogi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thevpsdude.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thijmendevalk.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thijmenverveeltzich.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thinkbigjesse.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thisisgusto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thisisrye.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thitat.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thoughtfarmer.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "threepeakschallenge.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "threepeakschallenge.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "threeshield.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "threeshield.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "throwedrolls.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thumbnails.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thundertalk.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thunis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thvr.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "thyscalesbalanced.world", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tiagomoreira.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tiansha.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ticai.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tickethut.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ticketmaze.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tidewaterwebsites.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tierforum.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tieyun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "timm-fensterbau.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "timmish.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "timverhaegh.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tina.is", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tinyarcademachines.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tinyradiance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tinyurl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tipaza.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tiptopusholdings.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tirapan.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "titahibayresidents.org.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "titlecan.cn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "titlecan.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "titom.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "titomweb.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tjro.jus.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tlc-environmental.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tmindustrial.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tn.fo", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toabaja.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "todayfashion.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toggtr.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toledoappraiser.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tolgacankurt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tomhol.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tomp2p.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tonglv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toomanymallards.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "top-vlm.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topmuzika.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topsmartdesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topstuffz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topweapon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topwowamazing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "topwowdesign.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "torbayrise.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "torotoro.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "torquayhbc.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "torstenzimmermann.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "totsglobal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "totstitles.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "townhomeproperties.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "toyislandperu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tpu-ltd.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trace.best", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tracebit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tradepass.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tragamin.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trainingcourt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tranche2aml.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trangthienlong.com.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tranquiloweb.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "transangelspremium.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "transparenti.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "transport.ninja", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "transporturi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "transsensualnetwork.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "transtema-ru.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trashygypsy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trastornoevitacion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trastornolimite.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "traumahealingaccelerated.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "travel-to-morocco-tours.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "travelfarandwide.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "travelinspirationmag.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "treibholz-norddeich.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tren-counseling.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trendmag.bg", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tretze-shoes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trevorblondeel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "triangletv.rs", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tribinagroup.co.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trimblecombustion.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trinartia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tripletake.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tristansommer.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tritansoft.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "triwan.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trubleeon.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trudo.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trustcloud.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "trwebtoon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tryharder.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tubesound.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tucevents.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tum-international.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "turkceyama.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "turkenburg.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "turkron.pro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "turntup.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tuta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tutao.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tuyen.blog", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tvbarled.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "twistedfamilies.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "txcheckup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tyentitaly.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tylb.io", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "typegrow.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "tznews.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uaestorages.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ub.edu.vn", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ub.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ubuntuproductions.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ucbconcierge.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uck.i.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ucreate.site", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uflmsan.pt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uglycat.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uglycat.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uglycat.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uglycat.social", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uglydogpgh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uika-bogor.ac.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ukmoneyman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uknewsweek.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ullrich-services.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ultaa.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ultimasearch.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ultra4k.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ultracoupon.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ultrasoftpressurewashing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uludag16.com.tr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "umetro.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "umlink.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "umusik.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unblockit.date", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unearth.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unibevltd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unicarehealth.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unicodesign.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unicoms.biz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unicoms.travel", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unicoms.vip", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unihostbrasil.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uniquestream.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unitedpayment.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unlimitedconference.id", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unpi06cannes.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unpi38.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unrealircd-api.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unsere-erkrankungen.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unusualsubstance.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "unvetalaretraite.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uploadletters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uprc.edu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uprh.edu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "upscaled.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "upseed.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "urbantz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "urprayermonk.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "uscloud.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "use1.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "utcle.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "utilitybot.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "utilityteam.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "utilitytech.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "utobo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "v2.engineer", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vacu.store", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vadkuhparty.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vahle.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vakantieveilingen.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vakantieveilingen.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "valleditrianotizie.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vamoscomparar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vandijkmaatwerk.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vanyavpn.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vapeforest.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vase-anduze.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vatogo-dev2.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vavabid.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vdalabs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vdotdatasharing.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vdprotezai.lt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vectorracquet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vegpro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "veiligesmartcities.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "veilletechno-it.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vejaparki.lv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "venicci.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "venn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ventrahealth.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "verifiedhandles.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "verkkopalvelin.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "veroncloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "verticecloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vesselportal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vetrehabsummit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vetvine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vgdocs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vialknives.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "viasalix.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "viawirelessllc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vibbo.no", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vicellishoes.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vicicode.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vicieux.art", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "videobible.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "videoguard.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "videomagic.ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "viditube.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vienna.photos", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vigiesolutions.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vikalbino.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vikalbino.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vikashkendra.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "villavuohijarvi.fi", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "villegasphoto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vilondo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vinacaster.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vingaardshus.dk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "violetgames.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "virimatech.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "virtualid.cl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "virturl.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "visaforest.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "visazone.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vision.edu.sa", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "visionengine.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "visitpaul.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "visp.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "visualintent.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vital-tel.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vitalthrills.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vitamister.ch", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vivalocale.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vleacademy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "voetbalvanavond.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "voetenreflexmassage.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "voidscrawl.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vojk.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "voltechtransformer.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "voodoo-crm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vooh.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vortexevents.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vpoltave.info", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vpr.expert", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vr-immonet.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vr-sinterklaashuis.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vragenlijstsoftware.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vreemdetante.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vreemdetante.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vreemdetante.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vsnfoto.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "vxl-co.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wadetregaskis.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wagyudelicatessen.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "waketurbulencereport.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "walian.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wallabag.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wananavuoutfitters.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wanzieautomation.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wanzieinsuranceservices.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "warramir.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "washingtonenergy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wasser-technik-rottal.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "watchdis.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "waterpumpu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "watgroeitwaar.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "watgroeitwaar.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "watgroeitwaar.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "watgroeitwaar.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "watgroeitwaar.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wattlefieldpottery.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "waveoutdoors.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wawasansejarah.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "waynerushbodywork-massage-tauranga-rotorua-bayofplenty-bop.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wbhrb.in", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wcgskibbereen.ie", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wd-ljt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webamooz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webcams.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webce.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webdigital.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webdispo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webencrypt.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webhero.it", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webinarlist.ro", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "websdesignpro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "webserve.be", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "websitedirectory.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wecorp.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weddinal.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weddingtailor.com.au", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "week-numbers.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weexend.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weixinjiefengla.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wemake.cx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wenrui.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weplan-app.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weplananalytics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "werkenbijpelsrijcken.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "westbourne-history.org.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "westrandgardeningservices.co.za", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "westtrip.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wetherbyvets.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "weyerstall1880.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wgauthier.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wget.cx", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whatgrowswhere.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whatgrowswhere.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whatgrowswhere.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whatgrowswhere.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whatgrowswhere.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whatsapp-plus.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wheelastic.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whiteinvestment.estate", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whiteout.wiki", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whitespider.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whosoldmyemail.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whosoldmyemail.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whqy.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whynotbi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "whyseo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "widow411.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wiesbadener-kurier.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wifiguard.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wiki.xin", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wikislo.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "willbeonesecurity.xyz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "willhausliving.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "willowbrook.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "winbics.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "winboot.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "windows101tricks.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wingpictures.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wings.tours", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wipers-nz.co.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wiseclinictc.com.tw", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wiserpost.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wissen.center", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wisteriahousedementiacare.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "witez.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "witheachmile.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "withoutlovenotcount.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wizjoner.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wmfs.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wo1h3o.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wondersoft.co", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wooblr.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "woorocket.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "workerscompensationattorneysandiego.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "workhandyman.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "workology.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "worldsnewshub.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wormser-zeitung.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wow8888.ph", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wpyukle.net", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wrestlefanent.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wtfast.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wualabs.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wulandari.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wuyan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ww3.myqnapcloud.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "www.com.gl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wxxm.aero", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "wzaalpfm.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "x3550.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "x3650.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xarcmastering.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xcontainer.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xeoxaz.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xhby.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiansou.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xianwei.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiaobawang.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiaoguanggao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiaohhh.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiaoke.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiaokeche.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiaoku.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiaolong.link", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xiedeacc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xishiduliu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xjfund.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xmoj-bbs.tech", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xmythology.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn----7sbddc9an3aethjp.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn----7sbqlhcsgevuc0j.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn----8sbdihuaxb3abob8a.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn---71-6cdxtphfkkfrgnoc.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--73-dlclq0cfe.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--80aacorabax9b2a3c.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--dck0bb4c1guc.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--eckok2bi6jzkpc.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--fhqs21ch1c4t0a.xn--czr694b", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--h1aagcjb0ajh5g.xn--p1ai", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--rhqv96geyrvng.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--u9j933ksxs6hu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xn--whakamtt-m7a57hba.org.nz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xpint.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xploredome.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xt71uc.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xtremejetski.ae", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xunjia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xunpay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "xynta.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "y31.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yabancidiziizle.tv", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yanjing.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yannan.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yaomao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yaoostore.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yassinekbichi.co.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yatum.com.br", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yb21.cc", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ycbw.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yemektarifinet.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yesmzt.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yichen.me", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ykj.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yogmoney.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yohanesedwin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yokohama-idolmaster.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yokohamawakaba-ganka.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yolandaschocolatiers.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yomiurigolf.co.jp", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yougotexposed.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "youpreneur.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "your-house-expert.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yourlgpd.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yourmodel.fr", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "youshawn.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yuanbiao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yuanchandi.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yuanjiazhao.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yuanxi343.top", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yuh-lin.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yuquepay.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yurlitsa.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ywamshipsphilippines.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "yzst.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "z.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "z6.uk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zacaloo.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zadm.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zaffittv.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zahlensysteme-rechner.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zahnarzt.ac", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zandersgroup.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zap-map.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zapatillas-trekking.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zapic.moe", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zapmap.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zarnitsa.eu", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zastawsamochodu.pl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zayla.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zayla.sk", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zedtm.ir", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zemows.industries", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zenkit.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zenstack.nl", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zero.lgbt", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zgsx.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zhengshu.online", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zhiqu.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zhonghongshunlian.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zhuanjia.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zhuanshun.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zhyz.nl.eu.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zimpler.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zitadel.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zitobox.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ziya.ng", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zohomon.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zolondek.ca", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zombie.cam", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zombiecomponents.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zonajogo.br.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zoon-editor.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zrodla.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zrucne.cz", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zsam.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "ztbro.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zuzu-market.ru", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zwr.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zybts.com", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zyep.org", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
+    { "name": "zzadmin.de", "policy": "bulk-1-year", "mode": "force-https", "include_subdomains": true },
     // END OF 1-YEAR BULK HSTS ENTRIES
 
     // Only eTLD+1 domains can be submitted automatically to hstspreload.org,
diff --git a/remoting/host/installer/win/chromoting.wxs b/remoting/host/installer/win/chromoting.wxs
index 3b56628d..0334a3a9 100644
--- a/remoting/host/installer/win/chromoting.wxs
+++ b/remoting/host/installer/win/chromoting.wxs
@@ -847,7 +847,7 @@
          using a custom action that uses CAQuietExec to execute a command line which is
          stored in a property with the same name as the action. -->
     <SetProperty Id="make_symbolic_link"
-      Value="&quot;[POWERSHELLEXE]&quot; -NoLogo -NonInteractive -NoProfile -ExecutionPolicy Bypass New-Item -ItemType SymbolicLink -Path '[chromoting]CurrentVersion' -Target '[binaries]'"
+      Value="&quot;[POWERSHELLEXE]&quot; -NoLogo -NonInteractive -NoProfile -ExecutionPolicy Bypass New-Item -ItemType SymbolicLink -Path '[chromoting]CurrentVersion' -Target '[binaries]' -Force"
       Before="make_symbolic_link"
       Sequence="execute" />
     <CustomAction Id="make_symbolic_link"
diff --git a/services/accessibility/features/javascript/automation.js b/services/accessibility/features/javascript/automation.js
index 080599e5..c55d41ae 100644
--- a/services/accessibility/features/javascript/automation.js
+++ b/services/accessibility/features/javascript/automation.js
@@ -1434,8 +1434,9 @@
 
     // Check permissions.
     if (!IsInteractPermitted()) {
-      throw new Error(actionType + ' requires {"desktop": true} or' +
-          ' {"interact": true} in the "automation" manifest key.');
+      throw new Error(
+          actionType + ' requires {"desktop": true} in the ' +
+          '"automation" manifest key.');
     }
 
     let requestID = -1;
diff --git a/services/cert_verifier/cert_verifier_creation.cc b/services/cert_verifier/cert_verifier_creation.cc
index 40cdaf8..ffb1b19 100644
--- a/services/cert_verifier/cert_verifier_creation.cc
+++ b/services/cert_verifier/cert_verifier_creation.cc
@@ -171,8 +171,13 @@
                                          user_slot_restriction_.get()))
                                    : nullptr);
 #else
-    trust_store =
-        net::CreateSslSystemTrustStoreChromeRoot(std::move(chrome_root));
+    if (instance_params.include_system_trust_store) {
+      trust_store =
+          net::CreateSslSystemTrustStoreChromeRoot(std::move(chrome_root));
+    } else {
+      trust_store =
+          net::CreateChromeOnlySystemTrustStore(std::move(chrome_root));
+    }
 #endif
 
 #if BUILDFLAG(IS_WIN)
diff --git a/services/cert_verifier/cert_verifier_service.cc b/services/cert_verifier/cert_verifier_service.cc
index 3a7536b..b3b551e1 100644
--- a/services/cert_verifier/cert_verifier_service.cc
+++ b/services/cert_verifier/cert_verifier_service.cc
@@ -152,6 +152,9 @@
   instance_params_.additional_distrusted_spkis =
       additional_certificates->distrusted_spkis;
 
+  instance_params_.include_system_trust_store =
+      additional_certificates->include_system_trust_store;
+
   verifier_->UpdateVerifyProcData(cert_net_fetcher_,
                                   service_factory_impl_->get_impl_params(),
                                   instance_params_);
diff --git a/services/cert_verifier/cert_verifier_service_factory.cc b/services/cert_verifier/cert_verifier_service_factory.cc
index 6b78710..5f2d90e6 100644
--- a/services/cert_verifier/cert_verifier_service_factory.cc
+++ b/services/cert_verifier/cert_verifier_service_factory.cc
@@ -88,6 +88,9 @@
 
     instance_params.additional_distrusted_spkis =
         creation_params->initial_additional_certificates->distrusted_spkis;
+    instance_params.include_system_trust_store =
+        creation_params->initial_additional_certificates
+            ->include_system_trust_store;
   }
 
   std::unique_ptr<net::CertVerifierWithUpdatableProc> cert_verifier =
diff --git a/services/network/public/mojom/cert_verifier_service.mojom b/services/network/public/mojom/cert_verifier_service.mojom
index e7a034a1..815ac0d 100644
--- a/services/network/public/mojom/cert_verifier_service.mojom
+++ b/services/network/public/mojom/cert_verifier_service.mojom
@@ -40,6 +40,9 @@
 
   // List of SPKIs that are explicitly distrusted.
   array<array<uint8>> distrusted_spkis;
+
+  // If true, use user-added certs in the system trust store.
+  bool include_system_trust_store = true;
 };
 
 // Allows the CertVerifierService to connect a new URLLoaderFactory if its
diff --git a/services/on_device_model/ml/on_device_model_executor.cc b/services/on_device_model/ml/on_device_model_executor.cc
index 77e1424..05cdfdc 100644
--- a/services/on_device_model/ml/on_device_model_executor.cc
+++ b/services/on_device_model/ml/on_device_model_executor.cc
@@ -365,6 +365,7 @@
       .max_tokens = params->max_tokens,
       .temperature = static_cast<float>(kTemperature.Get()),
       .top_k = kTopK.Get(),
+      .ts_dimension = params->ts_dimension.value_or(0),
   };
   if (ts_data_.IsValid()) {
     CHECK(ts_sp_model_.IsValid());
diff --git a/testing/buildbot/chromium.chromiumos.json b/testing/buildbot/chromium.chromiumos.json
index 214b988e..da2e6a4f 100644
--- a/testing/buildbot/chromium.chromiumos.json
+++ b/testing/buildbot/chromium.chromiumos.json
@@ -1468,6 +1468,7 @@
         "name": "chromeos_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1482,6 +1483,7 @@
         "name": "unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1500,6 +1502,7 @@
         "name": "absl_hardening_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1514,6 +1517,7 @@
         "name": "accessibility_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1528,6 +1532,7 @@
         "name": "angle_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1543,6 +1548,7 @@
         "name": "app_shell_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1557,6 +1563,7 @@
         "name": "ash_components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1572,6 +1579,7 @@
         "name": "ash_crosapi_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1586,6 +1594,7 @@
         "name": "ash_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -1601,6 +1610,7 @@
         "name": "ash_webui_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1615,6 +1625,7 @@
         "name": "aura_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1629,6 +1640,7 @@
         "name": "base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1643,6 +1655,7 @@
         "name": "blink_common_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1657,6 +1670,7 @@
         "name": "blink_fuzzer_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1671,6 +1685,7 @@
         "name": "blink_heap_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1685,6 +1700,7 @@
         "name": "blink_platform_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1699,6 +1715,7 @@
         "name": "boringssl_crypto_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1713,6 +1730,7 @@
         "name": "boringssl_ssl_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1727,6 +1745,7 @@
         "name": "browser_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -1745,6 +1764,7 @@
         "name": "capture_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1759,6 +1779,7 @@
         "name": "cast_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1773,6 +1794,7 @@
         "name": "cc_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1787,6 +1809,7 @@
         "name": "chrome_app_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1801,6 +1824,7 @@
         "name": "chromedriver_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1815,6 +1839,7 @@
         "name": "chromeos_components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1829,6 +1854,7 @@
         "name": "chromeos_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1843,6 +1869,7 @@
         "name": "components_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1857,6 +1884,7 @@
         "name": "components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1871,6 +1899,7 @@
         "name": "compositor_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1885,6 +1914,7 @@
         "name": "content_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -1900,6 +1930,7 @@
         "name": "content_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1914,6 +1945,7 @@
         "name": "crashpad_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1928,6 +1960,7 @@
         "name": "crypto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1942,6 +1975,7 @@
         "name": "dbus_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1956,6 +1990,7 @@
         "name": "device_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1970,6 +2005,7 @@
         "name": "display_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1985,6 +2021,7 @@
         "name": "env_chromium_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -1999,6 +2036,7 @@
         "name": "events_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2013,6 +2051,7 @@
         "name": "exo_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2027,6 +2066,7 @@
         "name": "extensions_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2041,6 +2081,7 @@
         "name": "extensions_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2055,6 +2096,7 @@
         "name": "filesystem_service_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2069,6 +2111,7 @@
         "name": "gcm_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2083,6 +2126,7 @@
         "name": "gfx_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2097,6 +2141,7 @@
         "name": "gin_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2111,6 +2156,7 @@
         "name": "gl_unittests_ozone",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2125,6 +2171,7 @@
         "name": "google_apis_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2139,6 +2186,7 @@
         "name": "gpu_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2153,6 +2201,7 @@
         "name": "gwp_asan_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2167,6 +2216,7 @@
         "name": "interactive_ui_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -2182,6 +2232,7 @@
         "name": "ipc_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2196,6 +2247,7 @@
         "name": "keyboard_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2210,6 +2262,7 @@
         "name": "latency_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2225,6 +2278,7 @@
         "name": "leveldb_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2239,6 +2293,7 @@
         "name": "libjingle_xmpp_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2253,6 +2308,7 @@
         "name": "liburlpattern_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2267,6 +2323,7 @@
         "name": "media_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2281,6 +2338,7 @@
         "name": "message_center_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2295,6 +2353,7 @@
         "name": "midi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2309,6 +2368,7 @@
         "name": "mojo_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2323,6 +2383,7 @@
         "name": "nacl_loader_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2337,6 +2398,7 @@
         "name": "native_theme_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2351,6 +2413,7 @@
         "name": "net_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -2369,6 +2432,7 @@
         "name": "ozone_gl_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2383,6 +2447,7 @@
         "name": "ozone_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2397,6 +2462,7 @@
         "name": "ozone_x11_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2411,6 +2477,7 @@
         "name": "pdf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2425,6 +2492,7 @@
         "name": "perfetto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2439,6 +2507,7 @@
         "name": "ppapi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2453,6 +2522,7 @@
         "name": "printing_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2467,6 +2537,7 @@
         "name": "remoting_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2481,6 +2552,7 @@
         "name": "sandbox_linux_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2495,6 +2567,7 @@
         "name": "services_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2509,6 +2582,7 @@
         "name": "shell_dialogs_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2523,6 +2597,7 @@
         "name": "shell_encryption_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2537,6 +2612,7 @@
         "name": "skia_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2551,6 +2627,7 @@
         "name": "snapshot_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2565,6 +2642,7 @@
         "name": "sql_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2579,6 +2657,7 @@
         "name": "storage_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2593,6 +2672,7 @@
         "name": "sync_integration_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -2608,6 +2688,7 @@
         "name": "ui_base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2622,6 +2703,7 @@
         "name": "ui_chromeos_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2636,6 +2718,7 @@
         "name": "ui_touch_selection_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2650,6 +2733,7 @@
         "name": "ui_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2664,6 +2748,7 @@
         "name": "unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -2679,6 +2764,7 @@
         "name": "url_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2694,6 +2780,7 @@
         "name": "usage_time_limit_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2708,6 +2795,7 @@
         "name": "views_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2722,6 +2810,7 @@
         "name": "viz_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2736,6 +2825,7 @@
         "name": "wayland_client_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2750,6 +2840,7 @@
         "name": "webkit_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2764,6 +2855,7 @@
         "name": "webkit_unit_tests_v2",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2778,6 +2870,7 @@
         "name": "wm_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2792,6 +2885,7 @@
         "name": "wtf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2806,6 +2900,7 @@
         "name": "zlib_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2826,6 +2921,7 @@
         },
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2853,6 +2949,7 @@
         "results_handler": "layout tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2875,6 +2972,7 @@
         "name": "absl_hardening_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2890,6 +2988,7 @@
         "name": "accessibility_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2905,6 +3004,7 @@
         "name": "angle_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2921,6 +3021,7 @@
         "name": "app_shell_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2936,6 +3037,7 @@
         "name": "ash_components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2952,6 +3054,7 @@
         "name": "ash_crosapi_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2976,6 +3079,7 @@
         ],
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -2992,6 +3096,7 @@
         "name": "ash_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -3008,6 +3113,7 @@
         "name": "ash_webui_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3023,6 +3129,7 @@
         "name": "aura_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3038,6 +3145,7 @@
         "name": "base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3053,6 +3161,7 @@
         "name": "blink_common_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3068,6 +3177,7 @@
         "name": "blink_fuzzer_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3083,6 +3193,7 @@
         "name": "blink_heap_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3098,6 +3209,7 @@
         "name": "blink_platform_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3113,6 +3225,7 @@
         "name": "boringssl_crypto_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3128,6 +3241,7 @@
         "name": "boringssl_ssl_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3144,6 +3258,7 @@
         "retry_only_failed_tests": true,
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "kvm": "1",
             "os": "Ubuntu-22.04"
           },
@@ -3165,6 +3280,7 @@
         "name": "browser_tests_require_lacros",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -3184,6 +3300,7 @@
         "name": "capture_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3199,6 +3316,7 @@
         "name": "cast_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3214,6 +3332,7 @@
         "name": "cc_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3229,6 +3348,7 @@
         "name": "chrome_app_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3244,6 +3364,7 @@
         "name": "chromedriver_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3259,6 +3380,7 @@
         "name": "chromeos_components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3274,6 +3396,7 @@
         "name": "chromeos_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3289,6 +3412,7 @@
         "name": "components_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3304,6 +3428,7 @@
         "name": "components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3319,6 +3444,7 @@
         "name": "compositor_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3335,6 +3461,7 @@
         "retry_only_failed_tests": true,
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -3351,6 +3478,7 @@
         "name": "content_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3366,6 +3494,7 @@
         "name": "crashpad_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3381,6 +3510,7 @@
         "name": "crypto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3396,6 +3526,7 @@
         "name": "dbus_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3411,6 +3542,7 @@
         "name": "device_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3426,6 +3558,7 @@
         "name": "display_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3442,6 +3575,7 @@
         "name": "env_chromium_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3457,6 +3591,7 @@
         "name": "events_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3472,6 +3607,7 @@
         "name": "exo_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3487,6 +3623,7 @@
         "name": "extensions_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3502,6 +3639,7 @@
         "name": "extensions_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3517,6 +3655,7 @@
         "name": "filesystem_service_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3532,6 +3671,7 @@
         "name": "gcm_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3547,6 +3687,7 @@
         "name": "gfx_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3562,6 +3703,7 @@
         "name": "gin_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3577,6 +3719,7 @@
         "name": "gl_unittests_ozone",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3592,6 +3735,7 @@
         "name": "google_apis_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3607,6 +3751,7 @@
         "name": "gpu_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3622,6 +3767,7 @@
         "name": "gwp_asan_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3638,6 +3784,7 @@
         "retry_only_failed_tests": true,
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -3654,6 +3801,7 @@
         "name": "ipc_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3669,6 +3817,7 @@
         "name": "keyboard_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3684,6 +3833,7 @@
         "name": "latency_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3700,6 +3850,7 @@
         "name": "leveldb_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3715,6 +3866,7 @@
         "name": "libjingle_xmpp_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3730,6 +3882,7 @@
         "name": "liburlpattern_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3745,6 +3898,7 @@
         "name": "media_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3760,6 +3914,7 @@
         "name": "message_center_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3775,6 +3930,7 @@
         "name": "midi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3790,6 +3946,7 @@
         "name": "mojo_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3805,6 +3962,7 @@
         "name": "nacl_loader_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3820,6 +3978,7 @@
         "name": "native_theme_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3835,6 +3994,7 @@
         "name": "net_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3853,6 +4013,7 @@
         "name": "ozone_gl_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3868,6 +4029,7 @@
         "name": "ozone_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3883,6 +4045,7 @@
         "name": "ozone_x11_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3898,6 +4061,7 @@
         "name": "pdf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3913,6 +4077,7 @@
         "name": "perfetto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3940,6 +4105,7 @@
         ],
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3955,6 +4121,7 @@
         "name": "ppapi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3970,6 +4137,7 @@
         "name": "printing_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3985,6 +4153,7 @@
         "name": "remoting_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4000,6 +4169,7 @@
         "name": "sandbox_linux_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4015,6 +4185,7 @@
         "name": "services_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4030,6 +4201,7 @@
         "name": "shell_dialogs_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4045,6 +4217,7 @@
         "name": "shell_encryption_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4060,6 +4233,7 @@
         "name": "skia_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4075,6 +4249,7 @@
         "name": "snapshot_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4090,6 +4265,7 @@
         "name": "sql_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4105,6 +4281,7 @@
         "name": "storage_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4120,6 +4297,7 @@
         "name": "sync_integration_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -4136,6 +4314,7 @@
         "name": "ui_base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4151,6 +4330,7 @@
         "name": "ui_chromeos_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4166,6 +4346,7 @@
         "name": "ui_touch_selection_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4181,6 +4362,7 @@
         "name": "ui_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4197,6 +4379,7 @@
         "retry_only_failed_tests": true,
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -4213,6 +4396,7 @@
         "name": "url_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4229,6 +4413,7 @@
         "name": "usage_time_limit_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4244,6 +4429,7 @@
         "name": "views_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4259,6 +4445,7 @@
         "name": "viz_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4274,6 +4461,7 @@
         "name": "wayland_client_perftests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4289,6 +4477,7 @@
         "name": "wayland_client_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4304,6 +4493,7 @@
         "name": "webkit_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4319,6 +4509,7 @@
         "name": "webkit_unit_tests_v2",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4334,6 +4525,7 @@
         "name": "wm_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4349,6 +4541,7 @@
         "name": "wtf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4364,6 +4557,7 @@
         "name": "zlib_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4385,6 +4579,7 @@
         },
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4413,6 +4608,7 @@
         "results_handler": "layout tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4449,6 +4645,7 @@
         "name": "absl_hardening_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4464,6 +4661,7 @@
         "name": "accessibility_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4479,6 +4677,7 @@
         "name": "app_shell_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4494,6 +4693,7 @@
         "name": "aura_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4509,6 +4709,7 @@
         "name": "base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4524,6 +4725,7 @@
         "name": "blink_common_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4539,6 +4741,7 @@
         "name": "blink_fuzzer_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4554,6 +4757,7 @@
         "name": "blink_heap_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4569,6 +4773,7 @@
         "name": "blink_platform_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4584,6 +4789,7 @@
         "name": "boringssl_crypto_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4599,6 +4805,7 @@
         "name": "boringssl_ssl_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4615,6 +4822,7 @@
         "retry_only_failed_tests": true,
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -4634,6 +4842,7 @@
         "name": "capture_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4649,6 +4858,7 @@
         "name": "cast_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4665,6 +4875,7 @@
         "name": "cc_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4680,6 +4891,7 @@
         "name": "chrome_app_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4695,6 +4907,7 @@
         "name": "chromedriver_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4710,6 +4923,7 @@
         "name": "chromeos_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4725,6 +4939,7 @@
         "name": "components_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4740,6 +4955,7 @@
         "name": "components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4755,6 +4971,7 @@
         "name": "compositor_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4771,6 +4988,7 @@
         "name": "content_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -4787,6 +5005,7 @@
         "name": "content_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4802,6 +5021,7 @@
         "name": "crashpad_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4817,6 +5037,7 @@
         "name": "crypto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4832,6 +5053,7 @@
         "name": "dbus_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4847,6 +5069,7 @@
         "name": "device_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4862,6 +5085,7 @@
         "name": "display_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4878,6 +5102,7 @@
         "name": "env_chromium_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4893,6 +5118,7 @@
         "name": "events_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4911,6 +5137,7 @@
         "name": "extensions_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4929,6 +5156,7 @@
         "name": "extensions_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4944,6 +5172,7 @@
         "name": "filesystem_service_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4959,6 +5188,7 @@
         "name": "gcm_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4974,6 +5204,7 @@
         "name": "gfx_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4989,6 +5220,7 @@
         "name": "gin_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5004,6 +5236,7 @@
         "name": "google_apis_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5019,6 +5252,7 @@
         "name": "gpu_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5034,6 +5268,7 @@
         "name": "gwp_asan_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5050,6 +5285,7 @@
         "retry_only_failed_tests": true,
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5078,6 +5314,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5107,6 +5344,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5136,6 +5374,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5148,9 +5387,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "isolate_profile_data": true,
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -5160,11 +5399,12 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5182,6 +5422,7 @@
         "name": "ipc_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5200,6 +5441,7 @@
         "name": "lacros_chrome_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5228,6 +5470,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5257,6 +5500,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5286,6 +5530,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5298,9 +5543,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "isolate_profile_data": true,
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -5310,11 +5555,12 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5332,6 +5578,7 @@
         "name": "lacros_chrome_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5347,6 +5594,7 @@
         "name": "latency_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5363,6 +5611,7 @@
         "name": "leveldb_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5378,6 +5627,7 @@
         "name": "libjingle_xmpp_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5393,6 +5643,7 @@
         "name": "liburlpattern_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5408,6 +5659,7 @@
         "name": "media_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5423,6 +5675,7 @@
         "name": "message_center_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5438,6 +5691,7 @@
         "name": "midi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5453,6 +5707,7 @@
         "name": "mojo_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5468,6 +5723,7 @@
         "name": "nacl_loader_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5483,6 +5739,7 @@
         "name": "native_theme_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5498,6 +5755,7 @@
         "name": "net_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5513,6 +5771,7 @@
         "name": "ozone_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5528,6 +5787,7 @@
         "name": "pdf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5543,6 +5803,7 @@
         "name": "perfetto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5558,6 +5819,7 @@
         "name": "ppapi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5573,6 +5835,7 @@
         "name": "printing_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5588,6 +5851,7 @@
         "name": "remoting_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5603,6 +5867,7 @@
         "name": "sandbox_linux_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5618,6 +5883,7 @@
         "name": "services_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5633,6 +5899,7 @@
         "name": "shell_dialogs_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5648,6 +5915,7 @@
         "name": "skia_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5663,6 +5931,7 @@
         "name": "snapshot_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5678,6 +5947,7 @@
         "name": "sql_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5693,6 +5963,7 @@
         "name": "storage_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5708,6 +5979,7 @@
         "name": "sync_integration_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -5724,6 +5996,7 @@
         "name": "ui_base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5739,6 +6012,7 @@
         "name": "ui_touch_selection_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5754,6 +6028,7 @@
         "name": "ui_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5770,6 +6045,7 @@
         "retry_only_failed_tests": true,
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5785,6 +6061,7 @@
         "name": "url_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5803,6 +6080,7 @@
         "name": "views_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5819,6 +6097,7 @@
         "name": "viz_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5834,6 +6113,7 @@
         "name": "webkit_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5849,6 +6129,7 @@
         "name": "webkit_unit_tests_v2",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5864,6 +6145,7 @@
         "name": "wm_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5879,6 +6161,7 @@
         "name": "wtf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -5894,6 +6177,7 @@
         "name": "zlib_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
diff --git a/testing/buildbot/chromium.coverage.json b/testing/buildbot/chromium.coverage.json
index fc49195..cdcb756d 100644
--- a/testing/buildbot/chromium.coverage.json
+++ b/testing/buildbot/chromium.coverage.json
@@ -20503,9 +20503,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "isolate_profile_data": true,
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -20515,8 +20515,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
@@ -20653,9 +20653,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "isolate_profile_data": true,
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -20665,8 +20665,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
diff --git a/testing/buildbot/chromium.fyi.json b/testing/buildbot/chromium.fyi.json
index a32187c..d75639a3 100644
--- a/testing/buildbot/chromium.fyi.json
+++ b/testing/buildbot/chromium.fyi.json
@@ -42488,9 +42488,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
@@ -42499,8 +42499,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
@@ -42638,9 +42638,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
@@ -42649,8 +42649,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
@@ -43962,9 +43962,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
@@ -43973,8 +43973,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
@@ -44112,9 +44112,9 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome"
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
         },
@@ -44123,8 +44123,8 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
diff --git a/testing/buildbot/chromium.memory.json b/testing/buildbot/chromium.memory.json
index 85037cf..b2632e1 100644
--- a/testing/buildbot/chromium.memory.json
+++ b/testing/buildbot/chromium.memory.json
@@ -2731,6 +2731,7 @@
         "name": "absl_hardening_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2748,6 +2749,7 @@
         "name": "accessibility_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2765,6 +2767,7 @@
         "name": "angle_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2783,6 +2786,7 @@
         "name": "app_shell_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2800,6 +2804,7 @@
         "name": "ash_components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2818,6 +2823,7 @@
         "name": "ash_crosapi_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2835,6 +2841,7 @@
         "name": "ash_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -2853,6 +2860,7 @@
         "name": "ash_webui_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2870,6 +2878,7 @@
         "name": "aura_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2887,6 +2896,7 @@
         "name": "base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2904,6 +2914,7 @@
         "name": "blink_common_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2921,6 +2932,7 @@
         "name": "blink_fuzzer_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2938,6 +2950,7 @@
         "name": "blink_heap_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2955,6 +2968,7 @@
         "name": "blink_platform_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2972,6 +2986,7 @@
         "name": "boringssl_crypto_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -2989,6 +3004,7 @@
         "name": "boringssl_ssl_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3006,6 +3022,7 @@
         "name": "browser_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "hard_timeout": 7200,
@@ -3026,6 +3043,7 @@
         "name": "capture_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3043,6 +3061,7 @@
         "name": "cast_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3060,6 +3079,7 @@
         "name": "cc_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3077,6 +3097,7 @@
         "name": "chrome_app_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3094,6 +3115,7 @@
         "name": "chromedriver_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3111,6 +3133,7 @@
         "name": "chromeos_components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3128,6 +3151,7 @@
         "name": "chromeos_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3145,6 +3169,7 @@
         "name": "components_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3162,6 +3187,7 @@
         "name": "components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -3180,6 +3206,7 @@
         "name": "compositor_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3197,6 +3224,7 @@
         "name": "content_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -3215,6 +3243,7 @@
         "name": "content_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3232,6 +3261,7 @@
         "name": "crashpad_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3249,6 +3279,7 @@
         "name": "crypto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3266,6 +3297,7 @@
         "name": "dbus_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3283,6 +3315,7 @@
         "name": "device_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3300,6 +3333,7 @@
         "name": "display_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3318,6 +3352,7 @@
         "name": "env_chromium_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3335,6 +3370,7 @@
         "name": "events_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3352,6 +3388,7 @@
         "name": "exo_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3369,6 +3406,7 @@
         "name": "extensions_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3386,6 +3424,7 @@
         "name": "extensions_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3403,6 +3442,7 @@
         "name": "filesystem_service_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3420,6 +3460,7 @@
         "name": "gcm_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3437,6 +3478,7 @@
         "name": "gfx_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3454,6 +3496,7 @@
         "name": "gl_unittests_ozone",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3471,6 +3514,7 @@
         "name": "google_apis_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3488,6 +3532,7 @@
         "name": "gpu_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3505,6 +3550,7 @@
         "name": "gwp_asan_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3522,6 +3568,7 @@
         "name": "interactive_ui_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -3540,6 +3587,7 @@
         "name": "ipc_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3557,6 +3605,7 @@
         "name": "keyboard_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3574,6 +3623,7 @@
         "name": "latency_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3592,6 +3642,7 @@
         "name": "leveldb_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3609,6 +3660,7 @@
         "name": "libjingle_xmpp_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3626,6 +3678,7 @@
         "name": "liburlpattern_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3643,6 +3696,7 @@
         "name": "media_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3660,6 +3714,7 @@
         "name": "message_center_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3677,6 +3732,7 @@
         "name": "midi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3694,6 +3750,7 @@
         "name": "mojo_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3711,6 +3768,7 @@
         "name": "nacl_loader_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3728,6 +3786,7 @@
         "name": "native_theme_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3745,6 +3804,7 @@
         "name": "net_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -3764,6 +3824,7 @@
         "name": "ozone_gl_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3781,6 +3842,7 @@
         "name": "ozone_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3798,6 +3860,7 @@
         "name": "ozone_x11_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3815,6 +3878,7 @@
         "name": "pdf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3832,6 +3896,7 @@
         "name": "perfetto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3849,6 +3914,7 @@
         "name": "ppapi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3866,6 +3932,7 @@
         "name": "printing_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3884,6 +3951,7 @@
         "name": "pthreadpool_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3901,6 +3969,7 @@
         "name": "remoting_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3918,6 +3987,7 @@
         "name": "sandbox_linux_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3935,6 +4005,7 @@
         "name": "services_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3952,6 +4023,7 @@
         "name": "shell_dialogs_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3969,6 +4041,7 @@
         "name": "shell_encryption_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -3986,6 +4059,7 @@
         "name": "skia_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4003,6 +4077,7 @@
         "name": "snapshot_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4020,6 +4095,7 @@
         "name": "sql_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4037,6 +4113,7 @@
         "name": "storage_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4054,6 +4131,7 @@
         "name": "sync_integration_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -4072,6 +4150,7 @@
         "name": "ui_base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4089,6 +4168,7 @@
         "name": "ui_chromeos_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4106,6 +4186,7 @@
         "name": "ui_touch_selection_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4123,6 +4204,7 @@
         "name": "ui_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4140,6 +4222,7 @@
         "name": "unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -4158,6 +4241,7 @@
         "name": "url_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4176,6 +4260,7 @@
         "name": "usage_time_limit_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4193,6 +4278,7 @@
         "name": "views_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4210,6 +4296,7 @@
         "name": "viz_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4227,6 +4314,7 @@
         "name": "wayland_client_perftests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4244,6 +4332,7 @@
         "name": "wayland_client_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4261,6 +4350,7 @@
         "name": "webkit_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4278,6 +4368,7 @@
         "name": "webkit_unit_tests_v2",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4295,6 +4386,7 @@
         "name": "wm_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4312,6 +4404,7 @@
         "name": "wtf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -4329,6 +4422,7 @@
         "name": "zlib_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15486,6 +15580,7 @@
         "name": "absl_hardening_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15506,6 +15601,7 @@
         "name": "accessibility_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15526,6 +15622,7 @@
         "name": "app_shell_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15546,6 +15643,7 @@
         "name": "aura_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15566,6 +15664,7 @@
         "name": "base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15586,6 +15685,7 @@
         "name": "blink_common_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15606,6 +15706,7 @@
         "name": "blink_fuzzer_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15626,6 +15727,7 @@
         "name": "blink_heap_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15646,6 +15748,7 @@
         "name": "blink_platform_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15666,6 +15769,7 @@
         "name": "boringssl_crypto_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15686,6 +15790,7 @@
         "name": "boringssl_ssl_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15707,6 +15812,7 @@
         "name": "browser_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -15729,6 +15835,7 @@
         "name": "capture_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15749,6 +15856,7 @@
         "name": "cast_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15769,6 +15877,7 @@
         "name": "cc_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15789,6 +15898,7 @@
         "name": "chrome_app_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15809,6 +15919,7 @@
         "name": "chromedriver_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15829,6 +15940,7 @@
         "name": "chromeos_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15849,6 +15961,7 @@
         "name": "components_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15869,6 +15982,7 @@
         "name": "components_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15889,6 +16003,7 @@
         "name": "compositor_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15909,6 +16024,7 @@
         "name": "content_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -15930,6 +16046,7 @@
         "name": "content_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15950,6 +16067,7 @@
         "name": "crashpad_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15970,6 +16088,7 @@
         "name": "crypto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -15990,6 +16109,7 @@
         "name": "dbus_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16010,6 +16130,7 @@
         "name": "device_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16030,6 +16151,7 @@
         "name": "display_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16051,6 +16173,7 @@
         "name": "env_chromium_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16071,6 +16194,7 @@
         "name": "events_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16092,6 +16216,7 @@
         "name": "extensions_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16113,6 +16238,7 @@
         "name": "extensions_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16133,6 +16259,7 @@
         "name": "filesystem_service_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16153,6 +16280,7 @@
         "name": "gcm_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16173,6 +16301,7 @@
         "name": "gfx_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16193,6 +16322,7 @@
         "name": "gin_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16213,6 +16343,7 @@
         "name": "google_apis_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16233,6 +16364,7 @@
         "name": "gpu_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16253,6 +16385,7 @@
         "name": "gwp_asan_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16273,6 +16406,7 @@
         "name": "interactive_ui_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16304,6 +16438,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16336,6 +16471,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16368,6 +16504,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16380,12 +16517,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "isolate_profile_data": true,
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -16395,11 +16532,12 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16422,6 +16560,7 @@
         "name": "ipc_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16443,6 +16582,7 @@
         "name": "lacros_chrome_browsertests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16474,6 +16614,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16506,6 +16647,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16538,6 +16680,7 @@
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16550,12 +16693,12 @@
       {
         "args": [
           "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter",
-          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome",
+          "--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome",
           "--test-launcher-print-test-stdio=always",
           "--combine-ash-logs-on-bots",
           "--asan-symbolize-output"
         ],
-        "description": "Run with ash-chrome version 120.0.6099.235",
+        "description": "Run with ash-chrome version 120.0.6099.259",
         "isolate_profile_data": true,
         "merge": {
           "script": "//testing/merge_scripts/standard_gtest_merge.py"
@@ -16565,11 +16708,12 @@
           "cipd_packages": [
             {
               "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip",
-              "location": "lacros_version_skew_tests_v120.0.6099.235",
-              "revision": "version:120.0.6099.235"
+              "location": "lacros_version_skew_tests_v120.0.6099.259",
+              "revision": "version:120.0.6099.259"
             }
           ],
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -16592,6 +16736,7 @@
         "name": "lacros_chrome_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16612,6 +16757,7 @@
         "name": "latency_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16633,6 +16779,7 @@
         "name": "leveldb_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16653,6 +16800,7 @@
         "name": "libjingle_xmpp_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16673,6 +16821,7 @@
         "name": "liburlpattern_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16693,6 +16842,7 @@
         "name": "media_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16713,6 +16863,7 @@
         "name": "message_center_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16733,6 +16884,7 @@
         "name": "midi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16753,6 +16905,7 @@
         "name": "mojo_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16773,6 +16926,7 @@
         "name": "nacl_loader_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16793,6 +16947,7 @@
         "name": "native_theme_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16813,6 +16968,7 @@
         "name": "net_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16833,6 +16989,7 @@
         "name": "ozone_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16853,6 +17010,7 @@
         "name": "pdf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16873,6 +17031,7 @@
         "name": "perfetto_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16893,6 +17052,7 @@
         "name": "ppapi_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16913,6 +17073,7 @@
         "name": "printing_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16934,6 +17095,7 @@
         "name": "pthreadpool_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16954,6 +17116,7 @@
         "name": "remoting_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16974,6 +17137,7 @@
         "name": "sandbox_linux_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -16994,6 +17158,7 @@
         "name": "services_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17014,6 +17179,7 @@
         "name": "shell_dialogs_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17034,6 +17200,7 @@
         "name": "skia_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17054,6 +17221,7 @@
         "name": "snapshot_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17074,6 +17242,7 @@
         "name": "sql_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17094,6 +17263,7 @@
         "name": "storage_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17114,6 +17284,7 @@
         "name": "sync_integration_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com",
@@ -17135,6 +17306,7 @@
         "name": "ui_base_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17155,6 +17327,7 @@
         "name": "ui_touch_selection_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17175,6 +17348,7 @@
         "name": "ui_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17195,6 +17369,7 @@
         "name": "unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17215,6 +17390,7 @@
         "name": "url_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17236,6 +17412,7 @@
         "name": "views_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17256,6 +17433,7 @@
         "name": "viz_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17276,6 +17454,7 @@
         "name": "webkit_unit_tests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17296,6 +17475,7 @@
         "name": "webkit_unit_tests_v2",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17316,6 +17496,7 @@
         "name": "wm_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17336,6 +17517,7 @@
         "name": "wtf_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
@@ -17356,6 +17538,7 @@
         "name": "zlib_unittests",
         "swarming": {
           "dimensions": {
+            "cpu": "x86-64",
             "os": "Ubuntu-22.04"
           },
           "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com"
diff --git a/testing/buildbot/variants.pyl b/testing/buildbot/variants.pyl
index b9db7acd..bcfb553 100644
--- a/testing/buildbot/variants.pyl
+++ b/testing/buildbot/variants.pyl
@@ -355,16 +355,16 @@
   },
   'LACROS_VERSION_SKEW_STABLE': {
     'identifier': 'Lacros version skew testing ash stable',
-    'description': 'Run with ash-chrome version 120.0.6099.235',
+    'description': 'Run with ash-chrome version 120.0.6099.259',
     'args': [
-      '--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.235/test_ash_chrome',
+      '--ash-chrome-path-override=../../lacros_version_skew_tests_v120.0.6099.259/test_ash_chrome',
     ],
     'swarming': {
       'cipd_packages': [
         {
           'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip',
-          'location': 'lacros_version_skew_tests_v120.0.6099.235',
-          'revision': 'version:120.0.6099.235',
+          'location': 'lacros_version_skew_tests_v120.0.6099.259',
+          'revision': 'version:120.0.6099.259',
         },
       ],
     },
diff --git a/testing/buildbot/waterfalls.pyl b/testing/buildbot/waterfalls.pyl
index 5df39b2..89117fb 100644
--- a/testing/buildbot/waterfalls.pyl
+++ b/testing/buildbot/waterfalls.pyl
@@ -1592,6 +1592,7 @@
       'linux-cfm-rel': {
         'mixins': [
           'linux-jammy',
+          'x86-64',
         ],
         'test_suites': {
           'gtest_tests': 'linux_cfm_gtests',
@@ -1599,6 +1600,7 @@
       },
       'linux-chromeos-dbg': {
         'mixins': [
+          'x86-64',
           'linux-jammy',
         ],
         'test_suites': {
@@ -1608,6 +1610,7 @@
       },
       'linux-chromeos-rel': {
         'mixins': [
+          'x86-64',
           'isolate_profile_data',
           'linux-jammy',
         ],
@@ -1629,6 +1632,7 @@
         'mixins': [
           'isolate_profile_data',
           'linux-jammy',
+          'x86-64',
         ],
         'additional_compile_targets': [
           'chrome',
@@ -5007,6 +5011,7 @@
       },
       'Linux Chromium OS ASan LSan Tests (1)': {
         'mixins': [
+          'x86-64',
           'linux-jammy',
         ],
         'test_suites': {
@@ -5120,6 +5125,7 @@
       },
       'linux-lacros-asan-lsan-rel': {
         'mixins': [
+          'x86-64',
           'isolate_profile_data',
           'linux-jammy',
         ],
diff --git a/testing/variations/fieldtrial_testing_config.json b/testing/variations/fieldtrial_testing_config.json
index 177f984c..d865ff9 100644
--- a/testing/variations/fieldtrial_testing_config.json
+++ b/testing/variations/fieldtrial_testing_config.json
@@ -371,6 +371,24 @@
             ]
         }
     ],
+    "AndroidHub": [
+        {
+            "platforms": [
+                "android"
+            ],
+            "experiments": [
+                {
+                    "name": "Enabled",
+                    "params": {
+                        "floating_action_button": "false"
+                    },
+                    "enable_features": [
+                        "AndroidHub"
+                    ]
+                }
+            ]
+        }
+    ],
     "AndroidMediaPickerAdoption": [
         {
             "platforms": [
@@ -3621,9 +3639,7 @@
                 {
                     "name": "Enabled",
                     "enable_features": [
-                        "AutofillContentEditables",
-                        "Compose",
-                        "ComposeNudge"
+                        "Compose"
                     ]
                 }
             ]
diff --git a/third_party/blink/public/devtools_protocol/browser_protocol.pdl b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
index d161e4a..e20395b 100644
--- a/third_party/blink/public/devtools_protocol/browser_protocol.pdl
+++ b/third_party/blink/public/devtools_protocol/browser_protocol.pdl
@@ -9545,6 +9545,15 @@
       started
       configResolved
 
+  # Enum of network fetches auctions can do.
+  type InterestGroupAuctionFetchType extends string
+    enum
+      bidderJs
+      bidderWasm
+      sellerJs
+      bidderTrustedSignals
+      sellerTrustedSignals
+
   # Ad advertising element inside an interest group.
   type InterestGroupAd extends object
     properties
@@ -9824,7 +9833,8 @@
     parameters
       boolean enable
 
-  # Enables/Disables issuing of interestGroupAuctionEvent events.
+  # Enables/Disables issuing of interestGroupAuctionEventOccurred and
+  # interestGroupAuctionNetworkRequestCreated.
   experimental command setInterestGroupAuctionTracking
     parameters
       boolean enable
@@ -9965,6 +9975,19 @@
       # Set for started and configResolved
       optional object auctionConfig
 
+  # Specifies which auctions a particular network fetch may be related to, and
+  # in what role. Note that it is not ordered with respect to
+  # Network.requestWillBeSent (but will happen before loadingFinished
+  # loadingFailed).
+  event interestGroupAuctionNetworkRequestCreated
+    parameters
+      InterestGroupAuctionFetchType type
+      Network.RequestId requestId
+      # This is the set of the auctions using the worklet that issued this
+      # request.  In the case of trusted signals, it's possible that only some of
+      # them actually care about the keys being queried.
+      array of InterestGroupAuctionId auctions
+
   # Shared storage was accessed by the associated page.
   # The following parameters are included in all events.
   event sharedStorageAccessed
diff --git a/third_party/blink/renderer/bindings/generated_in_modules.gni b/third_party/blink/renderer/bindings/generated_in_modules.gni
index 920771a..dddc8611 100644
--- a/third_party/blink/renderer/bindings/generated_in_modules.gni
+++ b/third_party/blink/renderer/bindings/generated_in_modules.gni
@@ -1980,8 +1980,6 @@
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_entry_sync.h",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_event_source.cc",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_event_source.h",
-  "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ext_blend_func_extended.cc",
-  "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ext_blend_func_extended.h",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ext_blend_min_max.cc",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ext_blend_min_max.h",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_ext_clip_control.cc",
@@ -2742,6 +2740,8 @@
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_webgl2_rendering_context.h",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_webgl_active_info.cc",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_webgl_active_info.h",
+  "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_webgl_blend_func_extended.cc",
+  "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_webgl_blend_func_extended.h",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_webgl_buffer.cc",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_webgl_buffer.h",
   "$root_gen_dir/third_party/blink/renderer/bindings/modules/v8/v8_webgl_clip_cull_distance.cc",
diff --git a/third_party/blink/renderer/bindings/idl_in_modules.gni b/third_party/blink/renderer/bindings/idl_in_modules.gni
index 6c28fff..f52229f 100644
--- a/third_party/blink/renderer/bindings/idl_in_modules.gni
+++ b/third_party/blink/renderer/bindings/idl_in_modules.gni
@@ -937,7 +937,6 @@
   "//third_party/blink/renderer/modules/webdatabase/sql_transaction_error_callback.idl",
   "//third_party/blink/renderer/modules/webdatabase/window_web_database.idl",
   "//third_party/blink/renderer/modules/webgl/angle_instanced_arrays.idl",
-  "//third_party/blink/renderer/modules/webgl/ext_blend_func_extended.idl",
   "//third_party/blink/renderer/modules/webgl/ext_blend_min_max.idl",
   "//third_party/blink/renderer/modules/webgl/ext_clip_control.idl",
   "//third_party/blink/renderer/modules/webgl/ext_color_buffer_float.idl",
@@ -974,6 +973,7 @@
   "//third_party/blink/renderer/modules/webgl/webgl2_rendering_context.idl",
   "//third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.idl",
   "//third_party/blink/renderer/modules/webgl/webgl_active_info.idl",
+  "//third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.idl",
   "//third_party/blink/renderer/modules/webgl/webgl_buffer.idl",
   "//third_party/blink/renderer/modules/webgl/webgl_clip_cull_distance.idl",
   "//third_party/blink/renderer/modules/webgl/webgl_color_buffer_float.idl",
diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/code_node_cxx.py b/third_party/blink/renderer/bindings/scripts/bind_gen/code_node_cxx.py
index 2b92235..018a1276 100644
--- a/third_party/blink/renderer/bindings/scripts/bind_gen/code_node_cxx.py
+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/code_node_cxx.py
@@ -369,6 +369,15 @@
         assert isinstance(const, bool)
         assert isinstance(override, bool)
 
+        self._function_name = name
+        self._arg_decls = arg_decls
+        self._return_type = return_type
+        self._const = const
+
+        # Presence of some attributes only makes sense on inline defitintions,
+        # in which case a separate declaration does not make sense.
+        self._inhibit_make_decl = template_params or inline or explicit or constexpr
+
         template_format = ("{template}"
                            "{static}{inline}{explicit}{constexpr}"
                            "{return_type} "
@@ -404,7 +413,6 @@
                 separator=", ",
                 head=" : ")
 
-        self._function_name = name
         self._body_node = SymbolScopeNode()
 
         CompositeNode.__init__(
@@ -433,6 +441,20 @@
     def body(self):
         return self._body_node
 
+    def make_decl(self,
+                  static=False,
+                  explicit=False,
+                  override=False,
+                  nodiscard=False):
+        assert not self._inhibit_make_decl
+        return CxxFuncDeclNode(name=self._function_name,
+                               arg_decls=self._arg_decls,
+                               return_type=self._return_type,
+                               const=self._const,
+                               static=static,
+                               explicit=explicit,
+                               override=override,
+                               nodiscard=nodiscard)
 
 class CxxClassDefNode(CompositeNode):
     def __init__(self,
diff --git a/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py b/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py
index df36e22..04bf8cd 100644
--- a/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py
+++ b/third_party/blink/renderer/bindings/scripts/bind_gen/dictionary.py
@@ -17,7 +17,6 @@
 from .code_node import SymbolScopeNode
 from .code_node import TextNode
 from .code_node_cxx import CxxClassDefNode
-from .code_node_cxx import CxxFuncDeclNode
 from .code_node_cxx import CxxFuncDefNode
 from .code_node_cxx import CxxLikelyIfNode
 from .code_node_cxx import CxxNamespaceNode
@@ -283,15 +282,6 @@
     func_def.body.append(
         TextNode("return MakeGarbageCollected<${class_name}>(${isolate});"))
 
-    func_decl = CxxFuncDeclNode(name="Create",
-                                arg_decls=[
-                                    "v8::Isolate* isolate",
-                                    "v8::Local<v8::Value> v8_value",
-                                    "ExceptionState& exception_state",
-                                ],
-                                return_type="${class_name}*",
-                                static=True)
-    decls.append(func_decl)
     func_def = CxxFuncDefNode(name="Create",
                               arg_decls=[
                                   "v8::Isolate* isolate",
@@ -300,6 +290,8 @@
                               ],
                               return_type="${class_name}*",
                               class_name=cg_context.class_name)
+    decls.append(func_def.make_decl(static=True))
+
     defs.append(func_def)
     func_def.set_base_template_vars(cg_context.template_bindings())
     body = func_def.body
@@ -358,10 +350,6 @@
     ]
 
     if not _constructor_needs_v8_isolate(cg_context.dictionary):
-        func_decl = CxxFuncDeclNode(name=cg_context.class_name,
-                                    arg_decls=[],
-                                    return_type="",
-                                    explicit=True)
         func_def = CxxFuncDefNode(
             name=cg_context.class_name,
             arg_decls=[],
@@ -369,17 +357,13 @@
             class_name=cg_context.class_name,
             member_initializer_list=member_initializer_list)
         func_def.set_base_template_vars(cg_context.template_bindings())
-        decls.append(func_decl)
+        decls.append(func_def.make_decl(explicit=True))
         defs.append(func_def)
         defs.append(EmptyNode())
 
     if cg_context.dictionary.inherited:
         member_initializer_list = ["${base_class_name}(isolate)"
                                    ] + member_initializer_list
-    func_decl = CxxFuncDeclNode(name=cg_context.class_name,
-                                arg_decls=["v8::Isolate* isolate"],
-                                return_type="",
-                                explicit=True)
     func_def = CxxFuncDefNode(name=cg_context.class_name,
                               arg_decls=["v8::Isolate* isolate"],
                               return_type="",
@@ -387,7 +371,7 @@
                               member_initializer_list=member_initializer_list)
     func_def.set_base_template_vars(cg_context.template_bindings())
     func_def.add_template_vars({"isolate": "isolate"})
-    decls.append(func_decl)
+    decls.append(func_def.make_decl(explicit=True))
     defs.append(func_def)
 
     return decls, defs
@@ -447,13 +431,6 @@
         return func_def, None
 
     def make_api_get_or_copy_and_move(member):
-        copy_func_decl = CxxFuncDeclNode(name=member.api_get_or,
-                                         arg_decls=[
-                                             "{} fallback_value".format(
-                                                 member.type_info.member_ref_t)
-                                         ],
-                                         return_type=member.type_info.value_t,
-                                         const=True)
         copy_func_def = CxxFuncDefNode(name=member.api_get_or,
                                        arg_decls=[
                                            "{} fallback_value".format(
@@ -470,11 +447,6 @@
               member.type_info.member_var_to_ref_expr(member.value_var)),
         ])
 
-        move_func_decl = CxxFuncDeclNode(
-            name=member.api_get_or,
-            arg_decls=["{}&& fallback_value".format(member.type_info.value_t)],
-            return_type=member.type_info.value_t,
-            const=True)
         move_func_def = CxxFuncDefNode(
             name=member.api_get_or,
             arg_decls=["{}&& fallback_value".format(member.type_info.value_t)],
@@ -489,7 +461,9 @@
               member.type_info.member_var_to_ref_expr(member.value_var)),
         ])
 
-        decls = ListNode([copy_func_decl, move_func_decl])
+        decls = ListNode(
+            [copy_func_def.make_decl(),
+             move_func_def.make_decl()])
         defs = ListNode([copy_func_def, EmptyNode(), move_func_def])
         return decls, defs
 
@@ -529,10 +503,6 @@
     def make_api_set_copy_and_move(member, type_info=None):
         if type_info is None:
             type_info = member.type_info
-        copy_func_decl = CxxFuncDeclNode(
-            name=member.api_set,
-            arg_decls=["{} value".format(type_info.member_ref_t)],
-            return_type="void")
         copy_func_def = CxxFuncDefNode(
             name=member.api_set,
             arg_decls=["{} value".format(type_info.member_ref_t)],
@@ -544,10 +514,6 @@
             copy_func_def.body.append(F("{} = true;", member.presence_var))
         copy_func_def.body.append(make_check_assigned_value(member))
 
-        move_func_decl = CxxFuncDeclNode(
-            name=member.api_set,
-            arg_decls=["{}&& value".format(type_info.value_t)],
-            return_type="void")
         move_func_def = CxxFuncDefNode(
             name=member.api_set,
             arg_decls=["{}&& value".format(type_info.value_t)],
@@ -560,7 +526,9 @@
             move_func_def.body.append(F("{} = true;", member.presence_var))
         move_func_def.body.append(make_check_assigned_value(member))
 
-        decls = ListNode([copy_func_decl, move_func_decl])
+        decls = ListNode(
+            [copy_func_def.make_decl(),
+             move_func_def.make_decl()])
         defs = ListNode([copy_func_def, EmptyNode(), move_func_def])
         return decls, defs
 
@@ -702,12 +670,6 @@
 def make_trace_function(cg_context):
     assert isinstance(cg_context, CodeGenContext)
 
-    func_decl = CxxFuncDeclNode(name="Trace",
-                                arg_decls=["Visitor* visitor"],
-                                return_type="void",
-                                const=True,
-                                override=True)
-
     func_def = CxxFuncDefNode(name="Trace",
                               arg_decls=["Visitor* visitor"],
                               return_type="void",
@@ -722,7 +684,7 @@
                 member.type_info.member_t, member.value_var)))
     body.append(TextNode("${base_class_name}::Trace(visitor);"))
 
-    return func_decl, func_def
+    return func_def.make_decl(override=True), func_def
 
 
 def make_blink_to_v8_function(cg_context):
@@ -732,15 +694,6 @@
     T = TextNode
     F = FormatNode
 
-    func_decl = CxxFuncDeclNode(name="FillV8ObjectWithMembers",
-                                arg_decls=[
-                                    "ScriptState* script_state",
-                                    "v8::Local<v8::Object> v8_dictionary",
-                                ],
-                                return_type="bool",
-                                const=True,
-                                override=True)
-
     func_def = CxxFuncDefNode(name="FillV8ObjectWithMembers",
                               arg_decls=[
                                   "ScriptState* script_state",
@@ -773,23 +726,6 @@
         ])
 
     for index, member in enumerate(cg_context.dictionary_own_members):
-        # [DeprecateAs]
-        deprecate_as = member.extended_attributes.value_of("DeprecateAs")
-        deprecate_as_node = None
-        if deprecate_as:
-            deprecate_as_node = SequenceNode([
-                EmptyNode(),
-                T("// [DeprecateAs]"),
-                F(("Deprecation::CountDeprecation("
-                   "${execution_context}, "
-                   "WebFeature::k{deprecate_as});"),
-                  deprecate_as=deprecate_as),
-            ])
-            deprecate_as_node.accumulate(
-                CodeGenAccumulator.require_include_headers([
-                    "third_party/blink/renderer/core/frame/deprecation/deprecation.h"
-                ]))
-
         node = CxxLikelyIfNode(
             cond="{}()".format(member.api_has),
             body=[
@@ -804,8 +740,7 @@
                     "${current_context}, "
                     "${v8_own_member_names}[{index}].Get(${isolate}), "
                     "${v8_value}).ToChecked();",
-                    index=index),
-                deprecate_as_node,
+                    index=index)
             ])
 
         conditional = expr_from_exposure(member.exposure)
@@ -816,7 +751,7 @@
 
     body.append(TextNode("return true;"))
 
-    return func_decl, func_def
+    return func_def.make_decl(override=True), func_def
 
 
 def make_v8_to_blink_function(cg_context):
@@ -826,14 +761,6 @@
     T = TextNode
     F = FormatNode
 
-    func_decl = CxxFuncDeclNode(name="FillMembersFromV8Object",
-                                arg_decls=[
-                                    "v8::Isolate* isolate",
-                                    "v8::Local<v8::Object> v8_dictionary",
-                                    "ExceptionState& exception_state",
-                                ],
-                                return_type="void")
-
     func_def = CxxFuncDefNode(name="FillMembersFromV8Object",
                               arg_decls=[
                                   "v8::Isolate* isolate",
@@ -926,18 +853,12 @@
 
         body.append(node)
 
-    return func_decl, func_def
+    return func_def.make_decl(), func_def
 
 
 def make_v8_own_member_names_function(cg_context):
     assert isinstance(cg_context, CodeGenContext)
 
-    func_decl = CxxFuncDeclNode(
-        name="GetV8OwnMemberNames",
-        arg_decls=["v8::Isolate* isolate"],
-        return_type="const base::span<const v8::Eternal<v8::Name>>",
-        static=True)
-
     func_def = CxxFuncDefNode(
         name="GetV8OwnMemberNames",
         arg_decls=["v8::Isolate* isolate"],
@@ -946,6 +867,7 @@
     func_def.set_base_template_vars(cg_context.template_bindings())
     body = func_def.body
     func_def.body.add_template_vars({"isolate": "isolate"})
+    func_decl = func_def.make_decl(static=True)
 
     if not cg_context.dictionary.own_members:
         body.append(TextNode("return {};"))
diff --git a/third_party/blink/renderer/core/css/css_style_sheet.h b/third_party/blink/renderer/core/css/css_style_sheet.h
index 5539281..14766a0e 100644
--- a/third_party/blink/renderer/core/css/css_style_sheet.h
+++ b/third_party/blink/renderer/core/css/css_style_sheet.h
@@ -29,7 +29,6 @@
 #include "third_party/blink/renderer/core/css/media_query_set_owner.h"
 #include "third_party/blink/renderer/core/css/resolver/media_query_result.h"
 #include "third_party/blink/renderer/core/css/style_sheet.h"
-#include "third_party/blink/renderer/core/css/style_sheet_contents.h"
 #include "third_party/blink/renderer/platform/heap/collection_support/heap_hash_set.h"
 #include "third_party/blink/renderer/platform/heap/collection_support/heap_vector.h"
 #include "third_party/blink/renderer/platform/heap/garbage_collected.h"
@@ -53,6 +52,7 @@
 class MediaQuerySet;
 class ScriptPromise;
 class ScriptState;
+class StyleSheetContents;
 class TreeScope;
 
 enum class CSSImportRules {
diff --git a/third_party/blink/renderer/core/loader/speculation_rule_loader.cc b/third_party/blink/renderer/core/loader/speculation_rule_loader.cc
index 20f2358d..a1a9b6e 100644
--- a/third_party/blink/renderer/core/loader/speculation_rule_loader.cc
+++ b/third_party/blink/renderer/core/loader/speculation_rule_loader.cc
@@ -13,6 +13,7 @@
 #include "third_party/blink/renderer/core/speculation_rules/speculation_rule_set.h"
 #include "third_party/blink/renderer/core/speculation_rules/speculation_rules_metrics.h"
 #include "third_party/blink/renderer/platform/weborigin/kurl.h"
+#include "third_party/blink/renderer/platform/wtf/text/string_builder.h"
 
 namespace blink {
 
diff --git a/third_party/blink/renderer/core/timing/soft_navigation_heuristics.cc b/third_party/blink/renderer/core/timing/soft_navigation_heuristics.cc
index 38e04aace3..c60fb49 100644
--- a/third_party/blink/renderer/core/timing/soft_navigation_heuristics.cc
+++ b/third_party/blink/renderer/core/timing/soft_navigation_heuristics.cc
@@ -138,7 +138,7 @@
 }
 
 void SoftNavigationHeuristics::InteractionCallbackCalled(
-    ScriptState* script_state,
+    const scheduler::TaskAttributionInfo& task,
     EventScopeType type,
     bool is_new_interaction) {
   // Set task ID to the current one.
@@ -150,14 +150,6 @@
     return;
   }
 
-  CHECK(script_state);
-  scheduler::TaskAttributionInfo* task = tracker->RunningTask(script_state);
-  if (!task) {
-    // This can happen in test scenarios that trigger input events outside of
-    // their regular flow.
-    return;
-  }
-
   if (!last_interaction_task_id_.value()) {
     // Here we have an interaction event that was supposed to be preceded by a
     // "new interaction" event, only that such an event didn't have a callback.
@@ -165,10 +157,10 @@
     // event. We also define the current task as the last interaction task.
     PerInteractionData* data = MakeGarbageCollected<PerInteractionData>();
     data->user_interaction_timestamp = pending_interaction_timestamp_;
-    interaction_task_id_to_interaction_data_.insert(task->Id().value(), data);
-    last_interaction_task_id_ = task->Id();
+    interaction_task_id_to_interaction_data_.insert(task.Id().value(), data);
+    last_interaction_task_id_ = task.Id();
   } else {
-    task_id_to_interaction_task_id_.insert(task->Id().value(),
+    task_id_to_interaction_task_id_.insert(task.Id().value(),
                                            last_interaction_task_id_.value());
   }
 
@@ -566,7 +558,7 @@
 
   // Create a user initiated interaction
   CHECK(current_event_parameters_);
-  InteractionCallbackCalled(script_state, current_event_parameters_->type,
+  InteractionCallbackCalled(task, current_event_parameters_->type,
                             current_event_parameters_->is_new_interaction);
   if (current_event_parameters_->type ==
       SoftNavigationHeuristics::EventScopeType::kNavigate) {
diff --git a/third_party/blink/renderer/core/timing/soft_navigation_heuristics.h b/third_party/blink/renderer/core/timing/soft_navigation_heuristics.h
index 979977e..f64fc87 100644
--- a/third_party/blink/renderer/core/timing/soft_navigation_heuristics.h
+++ b/third_party/blink/renderer/core/timing/soft_navigation_heuristics.h
@@ -62,7 +62,7 @@
   void Trace(Visitor*) const override;
 
   // The class's API.
-  void InteractionCallbackCalled(ScriptState*,
+  void InteractionCallbackCalled(const scheduler::TaskAttributionInfo& task,
                                  EventScopeType,
                                  bool is_new_interaction);
   void UserInitiatedInteraction();
diff --git a/third_party/blink/renderer/core/timing/soft_navigation_heuristics_test.cc b/third_party/blink/renderer/core/timing/soft_navigation_heuristics_test.cc
index fbcbde2c..c26c786 100644
--- a/third_party/blink/renderer/core/timing/soft_navigation_heuristics_test.cc
+++ b/third_party/blink/renderer/core/timing/soft_navigation_heuristics_test.cc
@@ -51,9 +51,14 @@
 TEST_F(SoftNavigationHeuristicsTest,
        EarlyReturnOnInvalidPendingInteractionTimestamp) {
   auto* test_heuristics = CreateSoftNavigationHeuristicsForTest();
+  // NextId() required so that the first task ID is non-zero (because we hash on
+  // key).
+  Persistent<scheduler::TaskAttributionInfo> task =
+      MakeGarbageCollected<scheduler::TaskAttributionInfo>(
+          scheduler::TaskAttributionId().NextId(), nullptr);
+
   test_heuristics->InteractionCallbackCalled(
-      GetScriptStateForTest(), SoftNavigationHeuristics::EventScopeType::kClick,
-      true);
+      *task, SoftNavigationHeuristics::EventScopeType::kClick, true);
   ASSERT_TRUE(test_heuristics->GetInitialInteractionEncounteredForTest());
 }
 
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc
index 996b4e2..4b0118e 100644
--- a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc
+++ b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc
@@ -3163,24 +3163,32 @@
     return;
   }
 
-  const auto& now = base::Time::Now();
-  const auto& delay_between_serializations =
-      base::Milliseconds(GetDeferredEventsDelay());
-  const auto& elapsed_since_last_serialization =
-      now - last_serialization_timestamp_;
-  const auto& delay_until_next_serialization =
-      delay_between_serializations - elapsed_since_last_serialization;
-  if (delay_until_next_serialization.is_positive()) {
-    if (!weak_factory_for_serialization_pipeline_.HasWeakPtrs()) {
-      document.GetTaskRunner(blink::TaskType::kInternalDefault)
-          ->PostDelayedTask(
-              FROM_HERE,
-              WTF::BindOnce(
-                  &AXObjectCacheImpl::ScheduleAXUpdate,
-                  weak_factory_for_serialization_pipeline_.GetWeakPtr()),
-              delay_until_next_serialization);
+  // Something occurred which requires an immediate serialization.
+  if (serialize_immediately_) {
+    force = true;
+    serialize_immediately_ = false;
+  }
+
+  if (!force) {
+    const auto& now = base::Time::Now();
+    const auto& delay_between_serializations =
+        base::Milliseconds(GetDeferredEventsDelay());
+    const auto& elapsed_since_last_serialization =
+        now - last_serialization_timestamp_;
+    const auto& delay_until_next_serialization =
+        delay_between_serializations - elapsed_since_last_serialization;
+    if (delay_until_next_serialization.is_positive()) {
+      if (!weak_factory_for_serialization_pipeline_.HasWeakPtrs()) {
+        document.GetTaskRunner(blink::TaskType::kInternalDefault)
+            ->PostDelayedTask(
+                FROM_HERE,
+                WTF::BindOnce(
+                    &AXObjectCacheImpl::ScheduleAXUpdate,
+                    weak_factory_for_serialization_pipeline_.GetWeakPtr()),
+                delay_until_next_serialization);
+      }
+      return;  // No serialization needed yet.
     }
-    return;  // No serialization needed yet.
   }
 
   weak_factory_for_serialization_pipeline_.InvalidateWeakPtrs();
@@ -4433,7 +4441,7 @@
 
 bool AXObjectCacheImpl::IsImmediateProcessingRequiredForEvent(
     const ui::AXEvent& event) const {
-  if (last_serialization_timestamp_ == kSerializeAtNextOpportunity) {
+  if (serialize_immediately_) {
     return true;  // Already scheduled for immediate mode.
   }
 
@@ -4574,14 +4582,14 @@
 }
 
 void AXObjectCacheImpl::ScheduleImmediateSerialization() {
-  // This makes sure that we'll serialize at the next available opportunity.
-  last_serialization_timestamp_ = kSerializeAtNextOpportunity;
-
   if (IsSerializationInFlight()) {
+    // Wait until current serialization message has been received.
     serialize_immediately_after_current_serialization_ = true;
-    return;  // Wait until current serialization message has been received.
+    return;
   }
 
+  serialize_immediately_ = true;
+
   // Call ScheduleAXUpdate() to ensure lifecycle does not get stalled.
   // Will call AXReadyCallback() at the next available opportunity.
   ScheduleAXUpdate();
diff --git a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h
index 57bffcd..0eea232 100644
--- a/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h
+++ b/third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h
@@ -128,20 +128,6 @@
   Document* GetPopupDocumentIfShowing() const { return popup_document_.Get(); }
 
   AXObject* FocusedObject();
-
-  // This stores the last time a serialization was ACK'ed after being sent to
-  // the browser, so that serializations can be skipped if the time since the
-  // last serialization is less than GetDeferredEventsDelay(). Setting to
-  // "beginning of time" causes the upcoming serialization to occur at the next
-  // available opportunity.  Batching is used to reduce the number of
-  // serializations, in order to provide overall faster content updates while
-  // using less CPU, because nodes that change multiple times in a short time
-  // period only need to be serialized once, e.g. during page loads or
-  // animations.
-  static constexpr base::Time kSerializeAtNextOpportunity =
-      base::Time::UnixEpoch();
-  base::Time last_serialization_timestamp_ = kSerializeAtNextOpportunity;
-
   const ui::AXMode& GetAXMode() override;
   void SetAXMode(const ui::AXMode&) override;
 
@@ -1071,6 +1057,21 @@
   // the browser, and will flip back to false once we receive back an ACK.
   bool serialization_in_flight_ = false;
 
+  // This stores the last time a serialization was ACK'ed after being sent to
+  // the browser, so that serializations can be skipped if the time since the
+  // last serialization is less than GetDeferredEventsDelay(). Setting to
+  // "beginning of time" causes the upcoming serialization to occur at the next
+  // available opportunity.  Batching is used to reduce the number of
+  // serializations, in order to provide overall faster content updates while
+  // using less CPU, because nodes that change multiple times in a short time
+  // period only need to be serialized once, e.g. during page loads or
+  // animations.
+  base::Time last_serialization_timestamp_ = base::Time::UnixEpoch();
+
+  // If true, will not attempt to batch and will serialize at the next
+  // opportunity.
+  bool serialize_immediately_ = false;
+
   // This flips to true if a request for an immediate update was not honored
   // because serialization_in_flight_ was true. It flips back to false once
   // serialization_in_flight_ has flipped to false and an immediate update has
diff --git a/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.cc b/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.cc
index e5f942f7..afd38d9 100644
--- a/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.cc
+++ b/third_party/blink/renderer/modules/peerconnection/peer_connection_tracker.cc
@@ -575,7 +575,7 @@
       return base::Value(attribute.get<double>());
     }
     // Types not supported by `base::Value` are converted to string.
-    return base::Value(attribute.ValueToString());
+    return base::Value(attribute.ToString());
   }
 
   const int lid_;
diff --git a/third_party/blink/renderer/modules/webgl/BUILD.gn b/third_party/blink/renderer/modules/webgl/BUILD.gn
index b1239f696..3553482439 100644
--- a/third_party/blink/renderer/modules/webgl/BUILD.gn
+++ b/third_party/blink/renderer/modules/webgl/BUILD.gn
@@ -8,8 +8,6 @@
   sources = [
     "angle_instanced_arrays.cc",
     "angle_instanced_arrays.h",
-    "ext_blend_func_extended.cc",
-    "ext_blend_func_extended.h",
     "ext_blend_min_max.cc",
     "ext_blend_min_max.h",
     "ext_clip_control.cc",
@@ -82,6 +80,8 @@
     "webgl2_rendering_context_base.cc",
     "webgl2_rendering_context_base.h",
     "webgl_active_info.h",
+    "webgl_blend_func_extended.cc",
+    "webgl_blend_func_extended.h",
     "webgl_buffer.cc",
     "webgl_buffer.h",
     "webgl_clip_cull_distance.cc",
diff --git a/third_party/blink/renderer/modules/webgl/ext_blend_func_extended.cc b/third_party/blink/renderer/modules/webgl/ext_blend_func_extended.cc
deleted file mode 100644
index 0e0243a..0000000
--- a/third_party/blink/renderer/modules/webgl/ext_blend_func_extended.cc
+++ /dev/null
@@ -1,30 +0,0 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "third_party/blink/renderer/modules/webgl/ext_blend_func_extended.h"
-
-#include "third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h"
-
-namespace blink {
-
-EXTBlendFuncExtended::EXTBlendFuncExtended(WebGLRenderingContextBase* context)
-    : WebGLExtension(context) {
-  context->ExtensionsUtil()->EnsureExtensionEnabled(
-      "GL_EXT_blend_func_extended");
-}
-
-WebGLExtensionName EXTBlendFuncExtended::GetName() const {
-  return kEXTBlendFuncExtendedName;
-}
-
-bool EXTBlendFuncExtended::Supported(WebGLRenderingContextBase* context) {
-  return context->ExtensionsUtil()->SupportsExtension(
-      "GL_EXT_blend_func_extended");
-}
-
-const char* EXTBlendFuncExtended::ExtensionName() {
-  return "EXT_blend_func_extended";
-}
-
-}  // namespace blink
diff --git a/third_party/blink/renderer/modules/webgl/ext_blend_func_extended.h b/third_party/blink/renderer/modules/webgl/ext_blend_func_extended.h
deleted file mode 100644
index ba2d2382..0000000
--- a/third_party/blink/renderer/modules/webgl/ext_blend_func_extended.h
+++ /dev/null
@@ -1,27 +0,0 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_WEBGL_EXT_BLEND_FUNC_EXTENDED_H_
-#define THIRD_PARTY_BLINK_RENDERER_MODULES_WEBGL_EXT_BLEND_FUNC_EXTENDED_H_
-
-#include "third_party/blink/renderer/modules/webgl/webgl_extension.h"
-#include "third_party/khronos/GLES2/gl2.h"
-
-namespace blink {
-
-class EXTBlendFuncExtended final : public WebGLExtension {
-  DEFINE_WRAPPERTYPEINFO();
-
- public:
-  static bool Supported(WebGLRenderingContextBase*);
-  static const char* ExtensionName();
-
-  explicit EXTBlendFuncExtended(WebGLRenderingContextBase*);
-
-  WebGLExtensionName GetName() const override;
-};
-
-}  // namespace blink
-
-#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_WEBGL_EXT_BLEND_FUNC_EXTENDED_H_
diff --git a/third_party/blink/renderer/modules/webgl/ext_blend_func_extended.idl b/third_party/blink/renderer/modules/webgl/ext_blend_func_extended.idl
deleted file mode 100644
index 1058b5f4..0000000
--- a/third_party/blink/renderer/modules/webgl/ext_blend_func_extended.idl
+++ /dev/null
@@ -1,16 +0,0 @@
-// Copyright 2023 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// https://www.khronos.org/registry/webgl/extensions/EXT_blend_func_extended/
-
-[
-    LegacyNoInterfaceObject
-] interface EXTBlendFuncExtended {
-    const unsigned long SRC1_COLOR_EXT           = 0x88F9;
-    const unsigned long SRC1_ALPHA_EXT           = 0x8589;
-    const unsigned long ONE_MINUS_SRC1_COLOR_EXT = 0x88FA;
-    const unsigned long ONE_MINUS_SRC1_ALPHA_EXT = 0x88FB;
-
-    const unsigned long MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT = 0x88FC;
-};
diff --git a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.cc b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.cc
index f5821b09..a0f6b52 100644
--- a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.cc
@@ -15,7 +15,6 @@
 #include "third_party/blink/renderer/core/frame/local_frame_client.h"
 #include "third_party/blink/renderer/core/frame/settings.h"
 #include "third_party/blink/renderer/core/loader/frame_loader.h"
-#include "third_party/blink/renderer/modules/webgl/ext_blend_func_extended.h"
 #include "third_party/blink/renderer/modules/webgl/ext_clip_control.h"
 #include "third_party/blink/renderer/modules/webgl/ext_color_buffer_float.h"
 #include "third_party/blink/renderer/modules/webgl/ext_color_buffer_half_float.h"
@@ -37,6 +36,7 @@
 #include "third_party/blink/renderer/modules/webgl/oes_shader_multisample_interpolation.h"
 #include "third_party/blink/renderer/modules/webgl/oes_texture_float_linear.h"
 #include "third_party/blink/renderer/modules/webgl/ovr_multiview_2.h"
+#include "third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.h"
 #include "third_party/blink/renderer/modules/webgl/webgl_clip_cull_distance.h"
 #include "third_party/blink/renderer/modules/webgl/webgl_compressed_texture_astc.h"
 #include "third_party/blink/renderer/modules/webgl/webgl_compressed_texture_etc.h"
@@ -166,7 +166,6 @@
 
 void WebGL2RenderingContext::RegisterContextExtensions() {
   // Register extensions.
-  RegisterExtension(ext_blend_func_extended_, kDraftExtension);
   RegisterExtension(ext_clip_control_, kDraftExtension);
   RegisterExtension(ext_color_buffer_float_);
   RegisterExtension(ext_color_buffer_half_float_);
@@ -190,6 +189,7 @@
   RegisterExtension(oes_shader_multisample_interpolation_, kDraftExtension);
   RegisterExtension(oes_texture_float_linear_);
   RegisterExtension(ovr_multiview2_);
+  RegisterExtension(webgl_blend_func_extended_, kDraftExtension);
   RegisterExtension(webgl_clip_cull_distance_);
   RegisterExtension(webgl_compressed_texture_astc_);
   RegisterExtension(webgl_compressed_texture_etc_);
@@ -213,7 +213,6 @@
 }
 
 void WebGL2RenderingContext::Trace(Visitor* visitor) const {
-  visitor->Trace(ext_blend_func_extended_);
   visitor->Trace(ext_clip_control_);
   visitor->Trace(ext_color_buffer_float_);
   visitor->Trace(ext_color_buffer_half_float_);
@@ -235,6 +234,7 @@
   visitor->Trace(oes_shader_multisample_interpolation_);
   visitor->Trace(oes_texture_float_linear_);
   visitor->Trace(ovr_multiview2_);
+  visitor->Trace(webgl_blend_func_extended_);
   visitor->Trace(webgl_clip_cull_distance_);
   visitor->Trace(webgl_compressed_texture_astc_);
   visitor->Trace(webgl_compressed_texture_etc_);
diff --git a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h
index 8c521370..2164868 100644
--- a/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h
+++ b/third_party/blink/renderer/modules/webgl/webgl2_rendering_context.h
@@ -15,7 +15,6 @@
 
 class CanvasContextCreationAttributesCore;
 class ExceptionState;
-class EXTBlendFuncExtended;
 class EXTClipControl;
 class EXTColorBufferFloat;
 class EXTColorBufferHalfFloat;
@@ -36,6 +35,7 @@
 class OESShaderMultisampleInterpolation;
 class OESTextureFloatLinear;
 class OVRMultiview2;
+class WebGLBlendFuncExtended;
 class WebGLClipCullDistance;
 class WebGLDebugRendererInfo;
 class WebGLDrawInstancedBaseVertexBaseInstance;
@@ -86,7 +86,6 @@
   void Trace(Visitor*) const override;
 
  protected:
-  Member<EXTBlendFuncExtended> ext_blend_func_extended_;
   Member<EXTClipControl> ext_clip_control_;
   Member<EXTColorBufferFloat> ext_color_buffer_float_;
   Member<EXTColorBufferHalfFloat> ext_color_buffer_half_float_;
@@ -110,6 +109,7 @@
       oes_shader_multisample_interpolation_;
   Member<OESTextureFloatLinear> oes_texture_float_linear_;
   Member<OVRMultiview2> ovr_multiview2_;
+  Member<WebGLBlendFuncExtended> webgl_blend_func_extended_;
   Member<WebGLClipCullDistance> webgl_clip_cull_distance_;
   Member<WebGLCompressedTextureASTC> webgl_compressed_texture_astc_;
   Member<WebGLCompressedTextureETC> webgl_compressed_texture_etc_;
diff --git a/third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.cc b/third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.cc
new file mode 100644
index 0000000..d515211
--- /dev/null
+++ b/third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.cc
@@ -0,0 +1,39 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.h"
+
+#include "third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h"
+
+namespace blink {
+
+WebGLBlendFuncExtended::WebGLBlendFuncExtended(
+    WebGLRenderingContextBase* context)
+    : WebGLExtension(context) {
+  context->ExtensionsUtil()->EnsureExtensionEnabled(
+      "GL_EXT_blend_func_extended");
+}
+
+WebGLExtensionName WebGLBlendFuncExtended::GetName() const {
+  return kWebGLBlendFuncExtendedName;
+}
+
+bool WebGLBlendFuncExtended::Supported(WebGLRenderingContextBase* context) {
+  // Ensure that the WebGL extension is supported only on passthrough
+  // as the validating decoder may expose the extension string.
+  DCHECK(context->GetDrawingBuffer());
+  if (!context->GetDrawingBuffer()
+           ->GetGraphicsInfo()
+           .using_passthrough_command_decoder) {
+    return false;
+  }
+  return context->ExtensionsUtil()->SupportsExtension(
+      "GL_EXT_blend_func_extended");
+}
+
+const char* WebGLBlendFuncExtended::ExtensionName() {
+  return "WEBGL_blend_func_extended";
+}
+
+}  // namespace blink
diff --git a/third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.h b/third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.h
new file mode 100644
index 0000000..f1d8be0
--- /dev/null
+++ b/third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.h
@@ -0,0 +1,27 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef THIRD_PARTY_BLINK_RENDERER_MODULES_WEBGL_WEBGL_BLEND_FUNC_EXTENDED_H_
+#define THIRD_PARTY_BLINK_RENDERER_MODULES_WEBGL_WEBGL_BLEND_FUNC_EXTENDED_H_
+
+#include "third_party/blink/renderer/modules/webgl/webgl_extension.h"
+#include "third_party/khronos/GLES2/gl2.h"
+
+namespace blink {
+
+class WebGLBlendFuncExtended final : public WebGLExtension {
+  DEFINE_WRAPPERTYPEINFO();
+
+ public:
+  static bool Supported(WebGLRenderingContextBase*);
+  static const char* ExtensionName();
+
+  explicit WebGLBlendFuncExtended(WebGLRenderingContextBase*);
+
+  WebGLExtensionName GetName() const override;
+};
+
+}  // namespace blink
+
+#endif  // THIRD_PARTY_BLINK_RENDERER_MODULES_WEBGL_WEBGL_BLEND_FUNC_EXTENDED_H_
diff --git a/third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.idl b/third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.idl
new file mode 100644
index 0000000..5cefaac37
--- /dev/null
+++ b/third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.idl
@@ -0,0 +1,16 @@
+// Copyright 2023 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// https://www.khronos.org/registry/webgl/extensions/WEBGL_blend_func_extended/
+
+[
+    LegacyNoInterfaceObject
+] interface WebGLBlendFuncExtended {
+    const unsigned long SRC1_COLOR_WEBGL           = 0x88F9;
+    const unsigned long SRC1_ALPHA_WEBGL           = 0x8589;
+    const unsigned long ONE_MINUS_SRC1_COLOR_WEBGL = 0x88FA;
+    const unsigned long ONE_MINUS_SRC1_ALPHA_WEBGL = 0x88FB;
+
+    const unsigned long MAX_DUAL_SOURCE_DRAW_BUFFERS_WEBGL = 0x88FC;
+};
diff --git a/third_party/blink/renderer/modules/webgl/webgl_extension_name.h b/third_party/blink/renderer/modules/webgl/webgl_extension_name.h
index 1768392..21f7763 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_extension_name.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_extension_name.h
@@ -10,7 +10,6 @@
 // Extension names are needed to properly wrap instances in JavaScript objects.
 enum WebGLExtensionName {
   kANGLEInstancedArraysName,
-  kEXTBlendFuncExtendedName,
   kEXTBlendMinMaxName,
   kEXTClipControlName,
   kEXTColorBufferFloatName,
@@ -44,6 +43,7 @@
   kOESTextureHalfFloatName,
   kOESVertexArrayObjectName,
   kOVRMultiview2Name,
+  kWebGLBlendFuncExtendedName,
   kWebGLClipCullDistanceName,
   kWebGLColorBufferFloatName,
   kWebGLCompressedTextureASTCName,
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context.cc
index af7dabe9..e2dd737 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context.cc
@@ -38,7 +38,6 @@
 #include "third_party/blink/renderer/core/frame/settings.h"
 #include "third_party/blink/renderer/core/loader/frame_loader.h"
 #include "third_party/blink/renderer/modules/webgl/angle_instanced_arrays.h"
-#include "third_party/blink/renderer/modules/webgl/ext_blend_func_extended.h"
 #include "third_party/blink/renderer/modules/webgl/ext_blend_min_max.h"
 #include "third_party/blink/renderer/modules/webgl/ext_clip_control.h"
 #include "third_party/blink/renderer/modules/webgl/ext_color_buffer_half_float.h"
@@ -62,6 +61,7 @@
 #include "third_party/blink/renderer/modules/webgl/oes_texture_half_float.h"
 #include "third_party/blink/renderer/modules/webgl/oes_texture_half_float_linear.h"
 #include "third_party/blink/renderer/modules/webgl/oes_vertex_array_object.h"
+#include "third_party/blink/renderer/modules/webgl/webgl_blend_func_extended.h"
 #include "third_party/blink/renderer/modules/webgl/webgl_color_buffer_float.h"
 #include "third_party/blink/renderer/modules/webgl/webgl_compressed_texture_astc.h"
 #include "third_party/blink/renderer/modules/webgl/webgl_compressed_texture_etc.h"
@@ -181,7 +181,6 @@
 
 void WebGLRenderingContext::RegisterContextExtensions() {
   RegisterExtension(angle_instanced_arrays_);
-  RegisterExtension(ext_blend_func_extended_, kDraftExtension);
   RegisterExtension(ext_blend_min_max_);
   RegisterExtension(ext_clip_control_, kDraftExtension);
   RegisterExtension(ext_color_buffer_half_float_);
@@ -207,6 +206,7 @@
   RegisterExtension(oes_texture_half_float_);
   RegisterExtension(oes_texture_half_float_linear_);
   RegisterExtension(oes_vertex_array_object_);
+  RegisterExtension(webgl_blend_func_extended_, kDraftExtension);
   RegisterExtension(webgl_color_buffer_float_);
   RegisterExtension(webgl_compressed_texture_astc_);
   RegisterExtension(webgl_compressed_texture_etc_);
@@ -225,7 +225,6 @@
 
 void WebGLRenderingContext::Trace(Visitor* visitor) const {
   visitor->Trace(angle_instanced_arrays_);
-  visitor->Trace(ext_blend_func_extended_);
   visitor->Trace(ext_blend_min_max_);
   visitor->Trace(ext_clip_control_);
   visitor->Trace(ext_color_buffer_half_float_);
@@ -249,6 +248,7 @@
   visitor->Trace(oes_texture_half_float_);
   visitor->Trace(oes_texture_half_float_linear_);
   visitor->Trace(oes_vertex_array_object_);
+  visitor->Trace(webgl_blend_func_extended_);
   visitor->Trace(webgl_color_buffer_float_);
   visitor->Trace(webgl_compressed_texture_astc_);
   visitor->Trace(webgl_compressed_texture_etc_);
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context.h
index 7563f62..8065790 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context.h
@@ -37,7 +37,6 @@
 class ANGLEInstancedArrays;
 class CanvasContextCreationAttributesCore;
 class ExceptionState;
-class EXTBlendFuncExtended;
 class EXTBlendMinMax;
 class EXTClipControl;
 class EXTColorBufferHalfFloat;
@@ -59,6 +58,7 @@
 class OESTextureFloatLinear;
 class OESTextureHalfFloat;
 class OESTextureHalfFloatLinear;
+class WebGLBlendFuncExtended;
 class WebGLColorBufferFloat;
 class WebGLDebugRendererInfo;
 class WebGLDepthTexture;
@@ -106,7 +106,6 @@
  private:
   // Enabled extension objects.
   Member<ANGLEInstancedArrays> angle_instanced_arrays_;
-  Member<EXTBlendFuncExtended> ext_blend_func_extended_;
   Member<EXTBlendMinMax> ext_blend_min_max_;
   Member<EXTClipControl> ext_clip_control_;
   Member<EXTColorBufferHalfFloat> ext_color_buffer_half_float_;
@@ -130,6 +129,7 @@
   Member<OESTextureHalfFloat> oes_texture_half_float_;
   Member<OESTextureHalfFloatLinear> oes_texture_half_float_linear_;
   Member<OESVertexArrayObject> oes_vertex_array_object_;
+  Member<WebGLBlendFuncExtended> webgl_blend_func_extended_;
   Member<WebGLColorBufferFloat> webgl_color_buffer_float_;
   Member<WebGLCompressedTextureASTC> webgl_compressed_texture_astc_;
   Member<WebGLCompressedTextureETC> webgl_compressed_texture_etc_;
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
index 5aa432e1..84d8ae9 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc
@@ -2290,6 +2290,12 @@
   if (isContextLost() ||
       !ValidateBlendFuncFactors("blendFuncSeparate", src_rgb, dst_rgb))
     return;
+
+  if (!ValidateBlendFuncExtendedFactors("blendFuncSeparate", src_alpha,
+                                        dst_alpha)) {
+    return;
+  }
+
   ContextGL()->BlendFuncSeparate(src_rgb, dst_rgb, src_alpha, dst_alpha);
 }
 
@@ -3936,13 +3942,13 @@
       SynthesizeGLError(GL_INVALID_ENUM, "getParameter",
                         "invalid parameter name, EXT_clip_control not enabled");
       return ScriptValue::CreateNull(script_state->GetIsolate());
-    case GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT:  // EXT_blend_func_extended
-      if (ExtensionEnabled(kEXTBlendFuncExtendedName)) {
+    case GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT:  // WEBGL_blend_func_extended
+      if (ExtensionEnabled(kWebGLBlendFuncExtendedName)) {
         return GetUnsignedIntParameter(script_state, pname);
       }
       SynthesizeGLError(
           GL_INVALID_ENUM, "getParameter",
-          "invalid parameter name, EXT_blend_func_extended not enabled");
+          "invalid parameter name, WEBGL_blend_func_extended not enabled");
       return ScriptValue::CreateNull(script_state->GetIsolate());
     case GL_MAX_COLOR_ATTACHMENTS_EXT:  // EXT_draw_buffers BEGIN
       if (ExtensionEnabled(kWebGLDrawBuffersName) || IsWebGL2())
@@ -8471,6 +8477,31 @@
                       "incompatible src and dst");
     return false;
   }
+
+  return ValidateBlendFuncExtendedFactors(function_name, src, dst);
+}
+
+bool WebGLRenderingContextBase::ValidateBlendFuncExtendedFactors(
+    const char* function_name,
+    GLenum src,
+    GLenum dst) {
+  // TODO(crbug.com/882580): this validation is done in the
+  // passthrough command decoder; this helper can be removed once the
+  // validating command decoder is completely unshipped.
+  if (src == GL_SRC1_COLOR_EXT || dst == GL_SRC1_COLOR_EXT ||
+      src == GL_SRC1_ALPHA_EXT || dst == GL_SRC1_ALPHA_EXT ||
+      src == GL_ONE_MINUS_SRC1_COLOR_EXT ||
+      dst == GL_ONE_MINUS_SRC1_COLOR_EXT ||
+      src == GL_ONE_MINUS_SRC1_ALPHA_EXT ||
+      dst == GL_ONE_MINUS_SRC1_ALPHA_EXT ||
+      (dst == GL_SRC_ALPHA_SATURATE && !IsWebGL2())) {
+    if (!ExtensionEnabled(kWebGLBlendFuncExtendedName)) {
+      SynthesizeGLError(GL_INVALID_ENUM, function_name,
+                        "invalid value, WEBGL_blend_func_extended not enabled");
+      return false;
+    }
+  }
+
   return true;
 }
 
diff --git a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
index f8d5c172..4bba8717 100644
--- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
+++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.h
@@ -1602,6 +1602,13 @@
                                 GLenum src,
                                 GLenum dst);
 
+  // Helper function to validate WEBGL_blend_func_extended
+  // factors. Needed only to make negative tests pass on the
+  // validating command decoder.
+  bool ValidateBlendFuncExtendedFactors(const char* function_name,
+                                        GLenum src,
+                                        GLenum dst);
+
   // Helper function to validate a GL capability.
   virtual bool ValidateCapability(const char* function_name, GLenum);
 
diff --git a/third_party/blink/web_tests/TestExpectations b/third_party/blink/web_tests/TestExpectations
index 4ab204f..d00256d7 100644
--- a/third_party/blink/web_tests/TestExpectations
+++ b/third_party/blink/web_tests/TestExpectations
@@ -2580,7 +2580,6 @@
 crbug.com/626703 external/wpt/editing/other/insertparagraph-in-editing-host-cannot-have-div.tentative.html* [ Failure ]
 
 # ====== New tests from wpt-importer added here ======
-crbug.com/626703 [ Win11 ] virtual/force-eager/external/wpt/measure-memory/redirect.client.https.window.html [ Skip Timeout ]
 crbug.com/626703 external/wpt/selection/crashtests/selectall-and-find-svg-text-on-selectstart.html [ Timeout ]
 crbug.com/626703 virtual/produce-compile-hints/external/wpt/fetch/api/basic/request-forbidden-headers.any.serviceworker.html [ Timeout ]
 crbug.com/626703 [ Mac ] external/wpt/webrtc-encoded-transform/tentative/RTCPeerConnection-insertable-streams-video.https.html [ Timeout ]
@@ -2843,8 +2842,6 @@
 crbug.com/626703 [ Mac13 Release ] virtual/threaded-prefer-compositing/external/wpt/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html [ Skip Timeout ]
 crbug.com/626703 external/wpt/css/css-backgrounds/box-shadow-border-radius-001.html [ Failure ]
 crbug.com/626703 virtual/threaded/external/wpt/css/css-backgrounds/box-shadow-border-radius-001.html [ Failure ]
-crbug.com/626703 [ Mac13 Release ] external/wpt/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-simulcast.https.html [ Timeout ]
-crbug.com/626703 [ Mac13-arm64 Release ] external/wpt/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-simulcast.https.html [ Timeout ]
 crbug.com/626703 [ Mac12 ] virtual/threaded-prefer-compositing/external/wpt/scroll-animations/css/animation-timeline-view-functional-notation.tentative.html [ Skip Timeout ]
 crbug.com/626703 [ Mac13 Release ] external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html [ Timeout ]
 crbug.com/626703 [ Mac13-arm64 Release ] external/wpt/html/semantics/embedded-content/media-elements/ready-states/autoplay-hidden.optional.html [ Timeout ]
@@ -3029,11 +3026,6 @@
 crbug.com/1289245 wpt_internal/prerender/unload-on-prerender-main-frame-navigation.html [ Skip Timeout ]
 crbug.com/1289245 wpt_internal/prerender/unload-on-prerender-remove-subframe.html [ Skip Timeout ]
 crbug.com/1289245 wpt_internal/prerender/unload-on-prerender-same-origin-subframe-navigation.html [ Skip Timeout ]
-crbug.com/626703 [ Mac10.15 ] external/wpt/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
-crbug.com/626703 [ Mac11 ] external/wpt/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
-crbug.com/626703 [ Mac11-arm64 ] external/wpt/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
-crbug.com/626703 [ Mac12 ] external/wpt/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
-crbug.com/626703 [ Mac12-arm64 ] external/wpt/webrtc-encoded-transform/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
 # TODO(crbug.com/1315625): Re-enable this test
 crbug.com/626703 external/wpt/webrtc-encoded-transform/sframe-keys.https.html [ Crash Failure Pass Timeout ]
 crbug.com/626703 external/wpt/geolocation-API/getCurrentPosition_permission_allow.https.html [ Timeout ]
@@ -6746,14 +6738,14 @@
 crbug.com/1519053 external/wpt/webnn/softmax.https.any.worker.html [ Crash Pass ]
 
 # Garderer: 2024-01-19
-crbug.com/1511285 [ Mac13 ] virtual/force-eager/external/wpt/measure-memory/redirect.client.https.window.html [ Skip Timeout ]
-crbug.com/1511285 [ Mac12-arm64 ] virtual/force-eager/external/wpt/measure-memory/redirect.client.https.window.html [ Skip Timeout ]
-crbug.com/1511285 [ Mac11 ] virtual/force-eager/external/wpt/measure-memory/redirect.client.https.window.html [ Skip Timeout ]
-crbug.com/1511285 [ Mac11-arm64 ] virtual/force-eager/external/wpt/measure-memory/redirect.client.https.window.html [ Skip Timeout ]
-crbug.com/1511285 [ Mac13 ] virtual/force-eager/external/wpt/measure-memory/redirect.server.https.window.html [ Skip Timeout ]
-crbug.com/1511285 [ Mac13-arm64 ] virtual/force-eager/external/wpt/measure-memory/redirect.server.https.window.html [ Skip Timeout ]
-crbug.com/1511285 [ Mac12-arm64 ] virtual/force-eager/external/wpt/measure-memory/redirect.server.https.window.html [ Skip Timeout ]
-crbug.com/1511285 [ Mac11 ] virtual/force-eager/external/wpt/measure-memory/redirect.server.https.window.html [ Skip Timeout ]
-crbug.com/1511285 [ Mac11-arm64 ] virtual/force-eager/external/wpt/measure-memory/redirect.server.https.window.html [ Skip Timeout ]
-crbug.com/1511285 [ Linux ] virtual/force-eager/external/wpt/measure-memory/redirect.server.https.window.html [ Skip Timeout ]
+crbug.com/1511285 virtual/force-eager/external/wpt/measure-memory/redirect.client.https.window.html [ Skip Timeout ]
+crbug.com/1511285 virtual/force-eager/external/wpt/measure-memory/redirect.server.https.window.html [ Skip Timeout ]
 crbug.com/1518938 [ Linux ] http/tests/devtools/resource-tree/resource-tree-non-unique-url.js [ Failure Pass ]
+crbug.com/1519124 [ Mac13 Release ] external/wpt/webrtc-encoded-transform/tentative/RTCPeerConnection-insertable-streams-simulcast.https.html [ Timeout ]
+crbug.com/1519124 [ Mac13-arm64 Release ] external/wpt/webrtc-encoded-transform/tentative/RTCPeerConnection-insertable-streams-simulcast.https.html [ Timeout ]
+crbug.com/1519124 [ Mac10.15 ] external/wpt/webrtc-encoded-transform/tentative/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
+crbug.com/1519124 [ Mac11 ] external/wpt/webrtc-encoded-transform/tentative/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
+crbug.com/1519124 [ Mac11-arm64 ] external/wpt/webrtc-encoded-transform/tentative/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
+crbug.com/1519124 [ Mac12 ] external/wpt/webrtc-encoded-transform/tentative/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
+crbug.com/1519124 [ Mac12-arm64 ] external/wpt/webrtc-encoded-transform/tentative/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
+crbug.com/1519124 [ Linux ] external/wpt/webrtc-encoded-transform/tentative/RTCPeerConnection-insertable-streams-simulcast.https.html [ Failure Pass Timeout ]
diff --git a/third_party/blink/web_tests/external/wpt/fledge/tentative/TODO b/third_party/blink/web_tests/external/wpt/fledge/tentative/TODO
index 8a416f1..0f68a7c 100644
--- a/third_party/blink/web_tests/external/wpt/fledge/tentative/TODO
+++ b/third_party/blink/web_tests/external/wpt/fledge/tentative/TODO
@@ -1,5 +1,11 @@
 Need tests for (likely not a complete list):
 
+* Test how InterestGroup values affected by k-anon checks are passed to generateBid.
+  * adSizes, sizeGroups, ads, and adComponents all need such tests.
+  * adSizes and sizeGroups currently have no tests, since they are incorectly
+      currently not passed to generateBid at all.
+* Test empty ads array:
+   Maybe simplest to test its numBids is empty?  Hard to test a script isn't run.
 * directFromSellerSignals.
     * The expected order when both responses use the same ad slot is currently
         undefined. However, we are in the process of resolving this matter by
diff --git a/third_party/blink/web_tests/external/wpt/fledge/tentative/interest-group-passed-to-generate-bid.https.window.js b/third_party/blink/web_tests/external/wpt/fledge/tentative/interest-group-passed-to-generate-bid.https.window.js
index 3db4479..2fb346b 100644
--- a/third_party/blink/web_tests/external/wpt/fledge/tentative/interest-group-passed-to-generate-bid.https.window.js
+++ b/third_party/blink/web_tests/external/wpt/fledge/tentative/interest-group-passed-to-generate-bid.https.window.js
@@ -13,7 +13,13 @@
 // META: variant=?36-40
 // META: variant=?41-45
 // META: variant=?46-50
-// META: variant=?51-last
+// META: variant=?51-55
+// META: variant=?56-60
+// META: variant=?61-65
+// META: variant=?66-70
+// META: variant=?71-75
+// META: variant=?76-80
+// META: variant=?81-85
 
 "use strict;"
 
@@ -21,6 +27,19 @@
 // and are normalized if necessary. This test does not check the behaviors of the
 // fields.
 
+// Modifies "ads". Replaces "REPLACE_WITH_UUID" in all "renderURL" fields of
+// objects in "ads" array with "uuid". Generated ad URLs have embedded
+// UUIDs to prevent InterestGroups unexpectedly left over from one test from
+// messing up another test, but these tests need ad URLs before the UUID is
+// generated. To get around that, "REPLACE_WITH_UUID" is used in place of UUIDs
+// and then this is used to replace them with the real UUID.
+function updateAdRenderURLs(ads, uuid) {
+  for (let i = 0; i < ads.length; ++i) {
+    let ad = ads[i];
+    ad.renderURL = ad.renderURL.replace('REPLACE_WITH_UUID', uuid);
+  }
+}
+
 const makeTest = ({
   // Test name.
   name,
@@ -39,6 +58,19 @@
   subsetTest(promise_test, async test => {
     const uuid = generateUuid(test);
 
+    // It's not strictly necessary to replace UUIDs in "adComponents", but do it for consistency.
+    if (fieldName === 'ads' || fieldName === 'adComponents' && fieldValue) {
+      updateAdRenderURLs(fieldValue, uuid);
+    }
+
+    if (interestGroupOverrides.ads) {
+      updateAdRenderURLs(interestGroupOverrides.ads, uuid);
+    }
+
+    if (interestGroupOverrides.adComponents) {
+      updateAdRenderURLs(interestGroupOverrides.adComponents, uuid);
+    }
+
     if (!(fieldName in interestGroupOverrides) && fieldValue !== undefined)
       interestGroupOverrides[fieldName] = fieldValue;
 
@@ -54,12 +86,22 @@
       origin = new URL(interestGroupOverrides.owner).origin;
 
     interestGroupOverrides.biddingLogicURL =
-      createBiddingScriptURL(
-          { origin: origin,
-            generateBid:
-                `if (!${comparison})
-                  throw "Unexpected value: " + JSON.stringify(interestGroup["${fieldName}"]);`
-          });
+        createBiddingScriptURL(
+            { origin: origin,
+              generateBid:
+                  `// Delete deprecated "renderUrl" fields from ads and adComponents, if
+                  // present.
+                  for (let field in interestGroup) {
+                    if (field === "ads" || field === "adComponents") {
+                      for (let i = 0; i < interestGroup[field].length; ++i) {
+                        let ad = interestGroup[field][i];
+                        delete ad.renderUrl;
+                      }
+                    }
+                  }
+                  if (!${comparison})
+                    throw "Unexpected value: " + JSON.stringify(interestGroup["${fieldName}"]);`
+            });
     if (origin !== location.origin) {
       await joinCrossOriginInterestGroup(test, uuid, origin, interestGroupOverrides);
     } else {
@@ -115,6 +157,48 @@
   interestGroupOverrides: {name: '\uD800,\uDBF0'}
 });
 
+// Since "biddingLogicURL" contains the script itself inline, can't include the entire URL
+// in the script for an equality check. Instead, replace the "generateBid" query parameter
+// in the URL with an empty value before comparing it. This doesn't just delete the entire
+// query parameter to make sure that's correctly passed in.
+subsetTest(promise_test,async test => {
+  const uuid = generateUuid(test);
+
+  let biddingScriptBaseURL = createBiddingScriptURL({origin: OTHER_ORIGIN1, generateBid: ''});
+  let biddingLogicURL = createBiddingScriptURL(
+      { origin: OTHER_ORIGIN1,
+        generateBid:
+          `let biddingScriptBaseURL =
+            interestGroup.biddingLogicURL.replace(/generateBid=[^&]*/, "generateBid=");
+          if (biddingScriptBaseURL !== "${biddingScriptBaseURL}")
+            throw "Wrong bidding script URL: " + interestGroup.biddingLogicURL`
+      });
+
+  await joinCrossOriginInterestGroup(test, uuid, OTHER_ORIGIN1,
+                                     { biddingLogicURL: biddingLogicURL });
+
+  await runBasicFledgeTestExpectingWinner(test, uuid, {interestGroupBuyers: [OTHER_ORIGIN1]});
+}, 'InterestGroup.biddingLogicURL.');
+
+// Much like above test, but use a relative URL that points to bidding script.
+subsetTest(promise_test,async test => {
+  const uuid = generateUuid(test);
+
+  let biddingScriptBaseURL = createBiddingScriptURL({generateBid: ''});
+  let biddingLogicURL = createBiddingScriptURL(
+      { generateBid:
+          `let biddingScriptBaseURL =
+            interestGroup.biddingLogicURL.replace(/generateBid=[^&]*/, "generateBid=");
+          if (biddingScriptBaseURL !== "${biddingScriptBaseURL}")
+            throw "Wrong bidding script URL: " + interestGroup.biddingLogicURL`
+      });
+  biddingLogicURL = biddingLogicURL.replace(BASE_URL, 'foo/../');
+
+  await joinInterestGroup(test, uuid, { biddingLogicURL: biddingLogicURL });
+
+  await runBasicFledgeTestExpectingWinner(test, uuid);
+}, 'InterestGroup.biddingLogicURL with relative URL.');
+
 makeTest({
   name: 'InterestGroup.lifetimeMs should not be passed in.',
   fieldName: 'lifetimeMs',
@@ -452,3 +536,202 @@
   fieldValue: undefined,
   interestGroupOverrides: {nonStandardField: 'This value should not be passed to worklets'}
 });
+
+// Note that all ad tests have a deprecated "renderUrl" field passed to generateBid.
+
+// Ad URLs need the right UUID for seller scripts to accept their bids. Since UUID changes
+// for each test, and is not available outside makeTest(), have to use string that will
+// be replaced with the real UUID.
+const AD1_URL = createRenderURL('REPLACE_WITH_UUID', /*script=*/';');
+const AD2_URL = createRenderURL('REPLACE_WITH_UUID', /*script=*/';;');
+
+makeTest({
+  name: 'InterestGroup.ads with one ad.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL}]
+});
+
+makeTest({
+  name: 'InterestGroup.ads one ad with metadata object.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL, metadata: {foo: 1, bar: [2, 3], baz: '4'}}]
+});
+
+makeTest({
+  name: 'InterestGroup.ads one ad with metadata string.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL, metadata: 'foo'}]
+});
+
+makeTest({
+  name: 'InterestGroup.ads one ad with null metadata.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL, metadata: null}]
+});
+
+makeTest({
+  name: 'InterestGroup.ads one ad with adRenderId. This field should not be passed to generateBid.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL}],
+  interestGroupOverrides: {ads: [{renderURL: AD1_URL, adRenderId: 'twelve chars'}]}
+});
+
+makeTest({
+  name: 'InterestGroup.ads one ad with buyerAndSellerReportingId. This field should not be passed to generateBid.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL}],
+  interestGroupOverrides: {ads: [{renderURL: AD1_URL,
+                                  buyerAndSellerReportingId: 'Arbitrary text'}]}
+});
+
+makeTest({
+  name: 'InterestGroup.ads one ad with buyerReportingId. This field should not be passed to generateBid.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL}],
+  interestGroupOverrides: {ads: [{renderURL: AD1_URL,
+                                  buyerReportingId: 'Arbitrary text'}]}
+});
+
+makeTest({
+  name: 'InterestGroup.ads one ad with novel field. This field should not be passed to generateBid.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL}],
+  interestGroupOverrides: {ads: [{renderURL: AD1_URL, novelField: 'Foo'}]}
+});
+
+makeTest({
+  name: 'InterestGroup.ads with multiple ads.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL, metadata: 1},
+               {renderURL: AD2_URL, metadata: [2]}],
+  interestGroupOverrides: {ads: [{renderURL: AD1_URL, metadata: 1},
+                                 {renderURL: AD2_URL, metadata: [2]}]}
+});
+
+// This should probably be an error. This WPT test serves to encourage there to be a
+// new join-leave WPT test when that is fixed.
+makeTest({
+  name: 'InterestGroup.ads duplicate ad.',
+  fieldName: 'ads',
+  fieldValue: [{renderURL: AD1_URL}, {renderURL: AD1_URL}],
+  interestGroupOverrides: {ads: [{renderURL: AD1_URL}, {renderURL: AD1_URL}]}
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents is undefined.',
+  fieldName: 'adComponents',
+  fieldValue: undefined
+});
+
+// This one is likely a bug.
+makeTest({
+  name: 'InterestGroup.adComponents is empty array.',
+  fieldName: 'adComponents',
+  fieldValue: undefined,
+  interestGroupOverrides: {adComponents: []}
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents with one ad.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL}]
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents one ad with metadata object.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL, metadata: {foo: 1, bar: [2, 3], baz: '4'}}]
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents one ad with metadata string.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL, metadata: 'foo'}]
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents one ad with null metadata.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL, metadata: null}]
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents one ad with adRenderId. This field should not be passed to generateBid.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL}],
+  interestGroupOverrides: {adComponents: [{renderURL: AD1_URL,
+                                           adRenderId: 'twelve chars'}]}
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents one ad with buyerAndSellerReportingId. This field should not be passed to generateBid.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL}],
+  interestGroupOverrides: {adComponents: [{renderURL: AD1_URL,
+                                           buyerAndSellerReportingId: 'Arbitrary text'}]}
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents one ad with buyerReportingId. This field should not be passed to generateBid.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL}],
+  interestGroupOverrides: {adComponents: [{renderURL: AD1_URL,
+                                           buyerReportingId: 'Arbitrary text'}]}
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents one ad with novel field. This field should not be passed to generateBid.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL}],
+  interestGroupOverrides: {adComponents: [{renderURL: AD1_URL,
+                                           novelField: 'Foo'}]}
+});
+
+makeTest({
+  name: 'InterestGroup.adComponents with multiple ads.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL, metadata: 1}, {renderURL: AD2_URL, metadata: [2]}]
+});
+
+makeTest({
+  name: 'InterestGroup.auctionServerRequestFlags is undefined',
+  fieldName: 'auctionServerRequestFlags',
+  fieldValue: undefined
+});
+
+makeTest({
+  name: 'InterestGroup.auctionServerRequestFlags is "omit-ads".',
+  fieldName: 'auctionServerRequestFlags',
+  fieldValue: undefined,
+  interestGroupOverrides: {auctionServerRequestFlags: ['omit-ads']}
+});
+
+makeTest({
+  name: 'InterestGroup.auctionServerRequestFlags is "include-full-ads".',
+  fieldName: 'auctionServerRequestFlags',
+  fieldValue: undefined,
+  interestGroupOverrides: {auctionServerRequestFlags: ['include-full-ads']}
+});
+
+makeTest({
+  name: 'InterestGroup.auctionServerRequestFlags has multiple values.',
+  fieldName: 'auctionServerRequestFlags',
+  fieldValue: undefined,
+  interestGroupOverrides: {auctionServerRequestFlags: ['omit-ads', 'include-full-ads']}
+});
+
+makeTest({
+  name: 'InterestGroup.auctionServerRequestFlags.',
+  fieldName: 'auctionServerRequestFlags',
+  fieldValue: undefined,
+  interestGroupOverrides: {auctionServerRequestFlags: ['noval value']}
+});
+
+// This should probably be an error. This WPT test serves to encourage there to be a
+// new join-leave WPT test when that is fixed.
+makeTest({
+  name: 'InterestGroup.adComponents duplicate ad.',
+  fieldName: 'adComponents',
+  fieldValue: [{renderURL: AD1_URL}, {renderURL: AD1_URL}],
+  interestGroupOverrides: {adComponents: [{renderURL: AD1_URL}, {renderURL: AD1_URL}]}
+});
diff --git a/third_party/blink/web_tests/external/wpt/fledge/tentative/join-leave-ad-interest-group.https.window.js b/third_party/blink/web_tests/external/wpt/fledge/tentative/join-leave-ad-interest-group.https.window.js
index 1bb3b8e..b5dfe025b 100644
--- a/third_party/blink/web_tests/external/wpt/fledge/tentative/join-leave-ad-interest-group.https.window.js
+++ b/third_party/blink/web_tests/external/wpt/fledge/tentative/join-leave-ad-interest-group.https.window.js
@@ -382,30 +382,18 @@
     interestGroup: { ...BASE_INTEREST_GROUP,
                      ads: [{metadata: [{a:'b'}, 'c'], 1:[2,3]}] }
   },
+  { expectJoinSucces: false,
+    expectLeaveSucces: true,
+    interestGroup: { ...BASE_INTEREST_GROUP,
+                     ads: [{renderURL: 'https://somewhere.test/',
+                            adRenderId: 'thirteenChars' }] }
+  },
+
   { expectJoinSucces: true,
     expectLeaveSucces: true,
     interestGroup: { ...BASE_INTEREST_GROUP,
                      ads: [{renderURL: 'https://somewhere.test/'}] }
   },
-  { expectJoinSucces: true,
-    expectLeaveSucces: true,
-    interestGroup: { ...BASE_INTEREST_GROUP,
-                     ads: [{renderURL: 'https://somewhere.test/'},
-                           {renderURL: 'https://somewhere-else.test/'}] }
-  },
-  { expectJoinSucces: true,
-    expectLeaveSucces: true,
-    interestGroup: { ...BASE_INTEREST_GROUP,
-                     ads: [{renderURL: 'https://somewhere.test/',
-                            metadata: null}] }
-  },
-  { expectJoinSucces: true,
-    expectLeaveSucces: true,
-    interestGroup: { ...BASE_INTEREST_GROUP,
-                     ads: [{renderURL: 'https://somewhere.test/',
-                            metadata: null,
-                            someOtherField: 'foo'}] }
-  },
 
   // "adComponents" tests
   { expectJoinSucces: false,
@@ -421,16 +409,6 @@
   { expectJoinSucces: false,
     expectLeaveSucces: true,
     interestGroup: { ...BASE_INTEREST_GROUP,
-                     adComponents: {} }
-  },
-  { expectJoinSucces: true,
-    expectLeaveSucces: true,
-    interestGroup: { ...BASE_INTEREST_GROUP,
-                     adComponents: [] }
-  },
-  { expectJoinSucces: false,
-    expectLeaveSucces: true,
-    interestGroup: { ...BASE_INTEREST_GROUP,
                      adComponents: [{}] }
   },
   { expectJoinSucces: false,
@@ -438,30 +416,17 @@
     interestGroup: { ...BASE_INTEREST_GROUP,
                      adComponents: [{metadata: [{a:'b'}, 'c'], 1:[2,3]}] }
   },
+  { expectJoinSucces: false,
+    expectLeaveSucces: true,
+    interestGroup: { ...BASE_INTEREST_GROUP,
+                     adComponents: [{renderURL: 'https://somewhere.test/',
+                                     adRenderId: 'More than twelve characters'}] }
+  },
   { expectJoinSucces: true,
     expectLeaveSucces: true,
     interestGroup: { ...BASE_INTEREST_GROUP,
                      adComponents: [{renderURL: 'https://somewhere.test/'}] }
   },
-  { expectJoinSucces: true,
-    expectLeaveSucces: true,
-    interestGroup: { ...BASE_INTEREST_GROUP,
-                     adComponents: [{renderURL: 'https://somewhere.test/'},
-                                    {renderURL: 'https://elsewhere.test/'}] }
-  },
-  { expectJoinSucces: true,
-    expectLeaveSucces: true,
-    interestGroup: { ...BASE_INTEREST_GROUP,
-                     adComponents: [{renderURL: 'https://somewhere.test/',
-                                     metadata: null}] }
-  },
-  { expectJoinSucces: true,
-    expectLeaveSucces: true,
-    interestGroup: { ...BASE_INTEREST_GROUP,
-                     adComponents: [{renderURL: 'https://somewhere.test/',
-                                     metadata: null,
-                                     someOtherField: 'foo'}] }
-  },
 
   // Miscellaneous tests.
   { expectJoinSucces: true,
diff --git a/third_party/blink/web_tests/external/wpt/fledge/tentative/resources/fledge-util.sub.js b/third_party/blink/web_tests/external/wpt/fledge/tentative/resources/fledge-util.sub.js
index e9513ec..69573d4 100644
--- a/third_party/blink/web_tests/external/wpt/fledge/tentative/resources/fledge-util.sub.js
+++ b/third_party/blink/web_tests/external/wpt/fledge/tentative/resources/fledge-util.sub.js
@@ -157,17 +157,19 @@
 function createBiddingScriptURL(params = {}) {
   let origin = params.origin ? params.origin : new URL(BASE_URL).origin;
   let url = new URL(`${origin}${RESOURCE_PATH}bidding-logic.sub.py`);
-  if (params.generateBid)
+  // These checks use "==" to ignore null and not provided arguments, while
+  // treating '' as a valid argument.
+  if (params.generateBid != null)
     url.searchParams.append('generateBid', params.generateBid);
-  if (params.reportWin)
+  if (params.reportWin != null)
     url.searchParams.append('reportWin', params.reportWin);
-  if (params.error)
+  if (params.error != null)
     url.searchParams.append('error', params.error);
-  if (params.bid)
+  if (params.bid != null)
     url.searchParams.append('bid', params.bid);
-  if (params.bidCurrency)
+  if (params.bidCurrency != null)
     url.searchParams.append('bidCurrency', params.bidCurrency);
-  if (params.allowComponentAuction !== undefined)
+  if (params.allowComponentAuction != null)
     url.searchParams.append('allowComponentAuction', JSON.stringify(params.allowComponentAuction))
   return url.toString();
 }
@@ -189,11 +191,13 @@
   let origin = params.origin ? params.origin : new URL(BASE_URL).origin;
   let url = new URL(`${origin}${RESOURCE_PATH}decision-logic.sub.py`);
   url.searchParams.append('uuid', uuid);
-  if (params.scoreAd)
+  // These checks use "==" to ignore null and not provided arguments, while
+  // treating '' as a valid argument.
+  if (params.scoreAd != null)
     url.searchParams.append('scoreAd', params.scoreAd);
-  if (params.reportResult)
+  if (params.reportResult != null)
     url.searchParams.append('reportResult', params.reportResult);
-  if (params.error)
+  if (params.error != null)
     url.searchParams.append('error', params.error);
   return url.toString();
 }
@@ -204,12 +208,14 @@
 // be last.  "signalsParams" also has no effect, but is used by
 // trusted-scoring-signals.py to affect the response.
 function createRenderURL(uuid, script, signalsParams, origin) {
+  // These checks use "==" to ignore null and not provided arguments, while
+  // treating '' as a valid argument.
   if (origin == null)
     origin = new URL(BASE_URL).origin;
   let url = new URL(`${origin}${RESOURCE_PATH}fenced-frame.sub.py`);
-  if (script)
+  if (script != null)
     url.searchParams.append('script', script);
-  if (signalsParams)
+  if (signalsParams != null)
     url.searchParams.append('signalsParams', signalsParams);
   url.searchParams.append('uuid', uuid);
   return url.toString();
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/storage/interest-groups-expected.txt b/third_party/blink/web_tests/http/tests/inspector-protocol/storage/interest-groups-expected.txt
index 44b0017..e8cfeb5 100644
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/storage/interest-groups-expected.txt
+++ b/third_party/blink/web_tests/http/tests/inspector-protocol/storage/interest-groups-expected.txt
@@ -13,6 +13,22 @@
     type : started
     uniqueAuctionId : 1
 }
+interestGroupAuctionNetworkRequestCreated {
+    auctions : [
+        [0] : 1
+    ]
+    requestId : <string>
+    type : bidderJs
+    url : https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php
+}
+interestGroupAuctionNetworkRequestCreated {
+    auctions : [
+        [0] : 1
+    ]
+    requestId : <string>
+    type : sellerJs
+    url : https://a.test:8443/inspector-protocol/resources/fledge_decision_logic.js.php
+}
 interestGroupAccessed {
     accessTime : <number>
     name : 0
@@ -197,6 +213,22 @@
     type : started
     uniqueAuctionId : 2
 }
+interestGroupAuctionNetworkRequestCreated {
+    auctions : [
+        [0] : 2
+    ]
+    requestId : <string>
+    type : bidderJs
+    url : https://a.test:8443/inspector-protocol/resources/fledge_bidding_logic.js.php
+}
+interestGroupAuctionNetworkRequestCreated {
+    auctions : [
+        [0] : 2
+    ]
+    requestId : <string>
+    type : sellerJs
+    url : https://a.test:8443/inspector-protocol/resources/fledge_decision_logic.js.php
+}
 Stop Tracking Auction Events
 Logged IG events:
 Test Done
diff --git a/third_party/blink/web_tests/http/tests/inspector-protocol/storage/interest-groups.js b/third_party/blink/web_tests/http/tests/inspector-protocol/storage/interest-groups.js
index 1464378f..ba3220a 100644
--- a/third_party/blink/web_tests/http/tests/inspector-protocol/storage/interest-groups.js
+++ b/third_party/blink/web_tests/http/tests/inspector-protocol/storage/interest-groups.js
@@ -22,13 +22,13 @@
 
   let nextAuctionId = 1;
   let auctionIdMap = new Map();
-  function normalizeAuctionId(event) {
-    if ('uniqueAuctionId' in event) {
-      if (!auctionIdMap.has(event.uniqueAuctionId)) {
-        auctionIdMap.set(event.uniqueAuctionId, nextAuctionId);
+  function normalizeAuctionId(uniqueAuctionId) {
+    if (uniqueAuctionId) {
+      if (!auctionIdMap.has(uniqueAuctionId)) {
+        auctionIdMap.set(uniqueAuctionId, nextAuctionId);
         ++nextAuctionId;
       }
-      return auctionIdMap.get(event.uniqueAuctionId);
+      return auctionIdMap.get(uniqueAuctionId);
     } else {
       return 'global';
     }
@@ -43,6 +43,13 @@
         a.name.localeCompare(b.name, 'en');
   }
 
+  // Helper for sorting auction <-> network events. Only cares about types
+  // since it's good enough for this application, and everything else is
+  // a random ID.
+  function compareNetEvents(a, b) {
+    return a.type.localeCompare(b.type, 'en');
+  }
+
   async function joinInterestGroups(id) {
     const joinJs = `
     navigator.joinAdInterestGroup({
@@ -73,13 +80,16 @@
     return session.evaluateAsync(auctionJs);
   }
 
-  events = [];
-  auctionEvents = [];
+  let networkRequestUrls = new Map();
+
+  let events = [];
+  let auctionEvents = [];
+  let auctionNetworkEvents = [];
   async function logAndClearEvents() {
     testRunner.log('Logged IG events:');
     // We expect only one auction event, so no ordering issue to worry about.
     for (let event of auctionEvents) {
-      event.uniqueAuctionId = normalizeAuctionId(event);
+      event.uniqueAuctionId = normalizeAuctionId(event.uniqueAuctionId);
 
       // Only some of auctionConfig fields are kept so this doesn't have to be
       // changed every time something new is added that shows up by default.
@@ -94,11 +104,18 @@
           event, 'interestGroupAuctionEventOccurred ', ['eventTime']);
     }
 
+    auctionNetworkEvents.sort(compareNetEvents);
+    for (let event of auctionNetworkEvents) {
+      event.auctions = event.auctions.map((a) => normalizeAuctionId(a));
+      event.url = networkRequestUrls.get(event.requestId);
+      testRunner.log(event, 'interestGroupAuctionNetworkRequestCreated ');
+    }
+
     // We need to sort IG events before dumping since ordering of bids is not
     // deterministic.
     events.sort(compareEvents);
     for (let event of events) {
-      event.uniqueAuctionId = normalizeAuctionId(event);
+      event.uniqueAuctionId = normalizeAuctionId(event.uniqueAuctionId);
       testRunner.log(event, 'interestGroupAccessed ', ['accessTime']);
       data = await dp.Storage.getInterestGroupDetails(
         {ownerOrigin: event.ownerOrigin, name: event.name});
@@ -106,8 +123,9 @@
       details.expirationTime = 0;
       testRunner.log(details, 'interestGroupDetails ');
     }
-    auctionEvents = [];
     events = [];
+    auctionEvents = [];
+    auctionNetworkEvents = [];
   }
 
   let resolveWaitForWinPromise;
@@ -119,14 +137,27 @@
     auctionEvents.push(messageObject.params);
   });
 
+  dp.Storage.onInterestGroupAuctionNetworkRequestCreated(messageObject => {
+    auctionNetworkEvents.push(messageObject.params);
+  });
+
   dp.Storage.onInterestGroupAccessed(messageObject => {
     events.push(messageObject.params);
     if (messageObject.params.type == 'win') {
       resolveWaitForWinPromise();
     }
   });
+
+  dp.Network.onRequestWillBeSent(messageObject => {
+    networkRequestUrls.set(
+        messageObject.params.requestId, messageObject.params.request.url);
+  });
+
   await page.navigate(base + 'empty.html');
 
+  // Enable network events, to check cross-referencing of them.
+  await dp.Network.enable();
+
   // Start tracking, join interest groups, and run an auction.
   await dp.Storage.setInterestGroupTracking({enable: true});
   await dp.Storage.setInterestGroupAuctionTracking({enable: true});
diff --git a/third_party/catapult b/third_party/catapult
index e9e2619..b46f981 160000
--- a/third_party/catapult
+++ b/third_party/catapult
@@ -1 +1 @@
-Subproject commit e9e26197a5d7a9b8bf8c3263a44fd12d6ad71a39
+Subproject commit b46f981617989d930937991925c5b4a3f6f37866
diff --git a/third_party/cros_system_api b/third_party/cros_system_api
index b94521b..e5100d6 160000
--- a/third_party/cros_system_api
+++ b/third_party/cros_system_api
@@ -1 +1 @@
-Subproject commit b94521bd4f0d6e87e3377ea070ce2827b16d187e
+Subproject commit e5100d618713aadf930da88e2e8458a6432f15c6
diff --git a/third_party/libavif/src b/third_party/libavif/src
index 72ed871..6e45bc7 160000
--- a/third_party/libavif/src
+++ b/third_party/libavif/src
@@ -1 +1 @@
-Subproject commit 72ed871e2570b85b1026212379f48c7b8e3ceea4
+Subproject commit 6e45bc71976b64a78e0a135b67ba082bdd933f10
diff --git a/third_party/libvpx/BUILD.gn b/third_party/libvpx/BUILD.gn
index 5f4c4e66..84e1f4b9 100644
--- a/third_party/libvpx/BUILD.gn
+++ b/third_party/libvpx/BUILD.gn
@@ -329,6 +329,23 @@
       deps = [ ":libvpx_arm64_highbd_headers" ]
     }
   }
+
+  source_set("libvpx_intrinsics_sve") {
+    check_includes = false
+    configs -= [ "//build/config/compiler:chromium_code" ]
+    configs += [ "//build/config/compiler:no_chromium_code" ]
+    configs += [ ":libvpx_config" ]
+    if (!is_win || is_clang) {
+      cflags = [ "-march=armv8.2-a+dotprod+i8mm+sve" ]
+    }
+    if (cpu_arch_full == "arm64") {
+      sources = libvpx_srcs_arm64_sve
+      deps = [ ":libvpx_arm64_headers" ]
+    } else if (cpu_arch_full == "arm64-highbd") {
+      sources = libvpx_srcs_arm64_highbd_sve
+      deps = [ ":libvpx_arm64_highbd_headers" ]
+    }
+  }
 }
 
 if (current_cpu == "arm") {
@@ -512,6 +529,7 @@
   if (current_cpu == "arm64") {
     deps += [ ":libvpx_intrinsics_neon_dotprod" ]
     deps += [ ":libvpx_intrinsics_neon_i8mm" ]
+    deps += [ ":libvpx_intrinsics_sve" ]
   }
   if (is_android) {
     deps += [ "//third_party/cpu_features:ndk_compat" ]
diff --git a/third_party/libvpx/README.chromium b/third_party/libvpx/README.chromium
index f88c688c..74abf2d 100644
--- a/third_party/libvpx/README.chromium
+++ b/third_party/libvpx/README.chromium
@@ -1,8 +1,8 @@
 Name: libvpx
 URL: https://chromium.googlesource.com/webm/libvpx
 Version: N/A
-Revision: b95d17572629c676bdcfd535fb3990b9f6f8fb11
-CPEPrefix: cpe:/a:webmproject:libvpx:1.13.1
+Revision: 2dead7118aeb86e98793dcd3873862e6e2115c8a
+CPEPrefix: cpe:/a:webmproject:libvpx:1.14.0
 License: BSD
 License File: source/libvpx/LICENSE
 Security Critical: yes
diff --git a/third_party/libvpx/generate_gni.sh b/third_party/libvpx/generate_gni.sh
index dbeedaae..aef4de6 100755
--- a/third_party/libvpx/generate_gni.sh
+++ b/third_party/libvpx/generate_gni.sh
@@ -137,12 +137,12 @@
     | egrep '(mmx|sse2|sse3|ssse3|sse4|avx|avx2|avx512).c$')
 
   if [[ "$2" =~ arm ]]; then
-    # Select all arm neon files ending in _neon.c and all asm files.
+    # Select all arm neon files ending in _neon*.c, _sve*.c and all asm files.
     # The asm files need to be included in the intrinsics target because
     # they need the -mfpu=neon flag.
     # the pattern may need to be updated if vpx_scale gets intrinsics
     local intrinsic_list=$(echo "$source_list" \
-      | egrep 'neon.*(\.c|\.asm)$')
+      | egrep '(neon|sve).*(\.c|\.asm)$')
   fi
 
   # Select loongarch lsx files ending in C from source_list.
@@ -206,9 +206,11 @@
           grep '_neon_dotprod\.c$')
         local neon_i8mm_sources=$(echo "$intrinsic_list" | \
           grep '_neon_i8mm\.c$')
+        local sve_sources=$(echo "$intrinsic_list" | grep '_sve\.c$')
         write_gni neon_dotprod_sources $2_neon_dotprod \
           "$BASE_DIR/libvpx_srcs.gni"
         write_gni neon_i8mm_sources $2_neon_i8mm "$BASE_DIR/libvpx_srcs.gni"
+        write_gni sve_sources $2_sve "$BASE_DIR/libvpx_srcs.gni"
       fi
      fi
   fi
diff --git a/third_party/libvpx/libvpx_srcs.gni b/third_party/libvpx/libvpx_srcs.gni
index 2992311e..547f2c8 100644
--- a/third_party/libvpx/libvpx_srcs.gni
+++ b/third_party/libvpx/libvpx_srcs.gni
@@ -2666,6 +2666,7 @@
   "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve8_neon_i8mm.c",
   "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_neon_i8mm.c",
 ]
+libvpx_srcs_arm64_sve = []
 libvpx_srcs_arm_neon_highbd = [
   "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
   "//third_party/libvpx/source/libvpx/vp8/common/arm/loopfilter_arm.c",
@@ -3600,6 +3601,8 @@
   "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve8_neon_i8mm.c",
   "//third_party/libvpx/source/libvpx/vpx_dsp/arm/vpx_convolve_neon_i8mm.c",
 ]
+libvpx_srcs_arm64_highbd_sve =
+    [ "//third_party/libvpx/source/libvpx/vpx_dsp/arm/highbd_variance_sve.c" ]
 libvpx_srcs_mips = [
   "//third_party/libvpx/source/libvpx/vp8/common/alloccommon.c",
   "//third_party/libvpx/source/libvpx/vp8/common/blockd.c",
diff --git a/third_party/libvpx/source/config/linux/arm64-highbd/vpx_dsp_rtcd.h b/third_party/libvpx/source/config/linux/arm64-highbd/vpx_dsp_rtcd.h
index 9f74e56..ad86883 100644
--- a/third_party/libvpx/source/config/linux/arm64-highbd/vpx_dsp_rtcd.h
+++ b/third_party/libvpx/source/config/linux/arm64-highbd/vpx_dsp_rtcd.h
@@ -1058,7 +1058,16 @@
                                          const uint8_t* ref_ptr,
                                          int ref_stride,
                                          unsigned int* sse);
-#define vpx_highbd_10_mse16x16 vpx_highbd_10_mse16x16_neon
+unsigned int vpx_highbd_10_mse16x16_sve(const uint8_t* src_ptr,
+                                        int src_stride,
+                                        const uint8_t* ref_ptr,
+                                        int ref_stride,
+                                        unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_10_mse16x16)(const uint8_t* src_ptr,
+                                                   int src_stride,
+                                                   const uint8_t* ref_ptr,
+                                                   int ref_stride,
+                                                   unsigned int* sse);
 
 unsigned int vpx_highbd_10_mse16x8_c(const uint8_t* src_ptr,
                                      int src_stride,
@@ -1070,7 +1079,16 @@
                                         const uint8_t* ref_ptr,
                                         int ref_stride,
                                         unsigned int* sse);
-#define vpx_highbd_10_mse16x8 vpx_highbd_10_mse16x8_neon
+unsigned int vpx_highbd_10_mse16x8_sve(const uint8_t* src_ptr,
+                                       int src_stride,
+                                       const uint8_t* ref_ptr,
+                                       int ref_stride,
+                                       unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_10_mse16x8)(const uint8_t* src_ptr,
+                                                  int src_stride,
+                                                  const uint8_t* ref_ptr,
+                                                  int ref_stride,
+                                                  unsigned int* sse);
 
 unsigned int vpx_highbd_10_mse8x16_c(const uint8_t* src_ptr,
                                      int src_stride,
@@ -1082,7 +1100,16 @@
                                         const uint8_t* ref_ptr,
                                         int ref_stride,
                                         unsigned int* sse);
-#define vpx_highbd_10_mse8x16 vpx_highbd_10_mse8x16_neon
+unsigned int vpx_highbd_10_mse8x16_sve(const uint8_t* src_ptr,
+                                       int src_stride,
+                                       const uint8_t* ref_ptr,
+                                       int ref_stride,
+                                       unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_10_mse8x16)(const uint8_t* src_ptr,
+                                                  int src_stride,
+                                                  const uint8_t* ref_ptr,
+                                                  int ref_stride,
+                                                  unsigned int* sse);
 
 unsigned int vpx_highbd_10_mse8x8_c(const uint8_t* src_ptr,
                                     int src_stride,
@@ -1094,7 +1121,16 @@
                                        const uint8_t* ref_ptr,
                                        int ref_stride,
                                        unsigned int* sse);
-#define vpx_highbd_10_mse8x8 vpx_highbd_10_mse8x8_neon
+unsigned int vpx_highbd_10_mse8x8_sve(const uint8_t* src_ptr,
+                                      int src_stride,
+                                      const uint8_t* ref_ptr,
+                                      int ref_stride,
+                                      unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_10_mse8x8)(const uint8_t* src_ptr,
+                                                 int src_stride,
+                                                 const uint8_t* ref_ptr,
+                                                 int ref_stride,
+                                                 unsigned int* sse);
 
 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x16_c(
     const uint8_t* src_ptr,
@@ -1778,7 +1814,16 @@
                                          const uint8_t* ref_ptr,
                                          int ref_stride,
                                          unsigned int* sse);
-#define vpx_highbd_12_mse16x16 vpx_highbd_12_mse16x16_neon
+unsigned int vpx_highbd_12_mse16x16_sve(const uint8_t* src_ptr,
+                                        int src_stride,
+                                        const uint8_t* ref_ptr,
+                                        int ref_stride,
+                                        unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_12_mse16x16)(const uint8_t* src_ptr,
+                                                   int src_stride,
+                                                   const uint8_t* ref_ptr,
+                                                   int ref_stride,
+                                                   unsigned int* sse);
 
 unsigned int vpx_highbd_12_mse16x8_c(const uint8_t* src_ptr,
                                      int src_stride,
@@ -1790,7 +1835,16 @@
                                         const uint8_t* ref_ptr,
                                         int ref_stride,
                                         unsigned int* sse);
-#define vpx_highbd_12_mse16x8 vpx_highbd_12_mse16x8_neon
+unsigned int vpx_highbd_12_mse16x8_sve(const uint8_t* src_ptr,
+                                       int src_stride,
+                                       const uint8_t* ref_ptr,
+                                       int ref_stride,
+                                       unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_12_mse16x8)(const uint8_t* src_ptr,
+                                                  int src_stride,
+                                                  const uint8_t* ref_ptr,
+                                                  int ref_stride,
+                                                  unsigned int* sse);
 
 unsigned int vpx_highbd_12_mse8x16_c(const uint8_t* src_ptr,
                                      int src_stride,
@@ -1802,7 +1856,16 @@
                                         const uint8_t* ref_ptr,
                                         int ref_stride,
                                         unsigned int* sse);
-#define vpx_highbd_12_mse8x16 vpx_highbd_12_mse8x16_neon
+unsigned int vpx_highbd_12_mse8x16_sve(const uint8_t* src_ptr,
+                                       int src_stride,
+                                       const uint8_t* ref_ptr,
+                                       int ref_stride,
+                                       unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_12_mse8x16)(const uint8_t* src_ptr,
+                                                  int src_stride,
+                                                  const uint8_t* ref_ptr,
+                                                  int ref_stride,
+                                                  unsigned int* sse);
 
 unsigned int vpx_highbd_12_mse8x8_c(const uint8_t* src_ptr,
                                     int src_stride,
@@ -1814,7 +1877,16 @@
                                        const uint8_t* ref_ptr,
                                        int ref_stride,
                                        unsigned int* sse);
-#define vpx_highbd_12_mse8x8 vpx_highbd_12_mse8x8_neon
+unsigned int vpx_highbd_12_mse8x8_sve(const uint8_t* src_ptr,
+                                      int src_stride,
+                                      const uint8_t* ref_ptr,
+                                      int ref_stride,
+                                      unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_12_mse8x8)(const uint8_t* src_ptr,
+                                                 int src_stride,
+                                                 const uint8_t* ref_ptr,
+                                                 int ref_stride,
+                                                 unsigned int* sse);
 
 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x16_c(
     const uint8_t* src_ptr,
@@ -7813,6 +7885,38 @@
   if (flags & HAS_NEON_DOTPROD) {
     vpx_get8x8var = vpx_get8x8var_neon_dotprod;
   }
+  vpx_highbd_10_mse16x16 = vpx_highbd_10_mse16x16_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_10_mse16x16 = vpx_highbd_10_mse16x16_sve;
+  }
+  vpx_highbd_10_mse16x8 = vpx_highbd_10_mse16x8_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_10_mse16x8 = vpx_highbd_10_mse16x8_sve;
+  }
+  vpx_highbd_10_mse8x16 = vpx_highbd_10_mse8x16_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_10_mse8x16 = vpx_highbd_10_mse8x16_sve;
+  }
+  vpx_highbd_10_mse8x8 = vpx_highbd_10_mse8x8_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_10_mse8x8 = vpx_highbd_10_mse8x8_sve;
+  }
+  vpx_highbd_12_mse16x16 = vpx_highbd_12_mse16x16_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_12_mse16x16 = vpx_highbd_12_mse16x16_sve;
+  }
+  vpx_highbd_12_mse16x8 = vpx_highbd_12_mse16x8_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_12_mse16x8 = vpx_highbd_12_mse16x8_sve;
+  }
+  vpx_highbd_12_mse8x16 = vpx_highbd_12_mse8x16_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_12_mse8x16 = vpx_highbd_12_mse8x16_sve;
+  }
+  vpx_highbd_12_mse8x8 = vpx_highbd_12_mse8x8_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_12_mse8x8 = vpx_highbd_12_mse8x8_sve;
+  }
   vpx_highbd_8_mse16x16 = vpx_highbd_8_mse16x16_neon;
   if (flags & HAS_NEON_DOTPROD) {
     vpx_highbd_8_mse16x16 = vpx_highbd_8_mse16x16_neon_dotprod;
diff --git a/third_party/libvpx/source/config/vpx_version.h b/third_party/libvpx/source/config/vpx_version.h
index 6651796..dbe25c8 100644
--- a/third_party/libvpx/source/config/vpx_version.h
+++ b/third_party/libvpx/source/config/vpx_version.h
@@ -1,9 +1,9 @@
 // This file is generated. Do not edit.
 #define VERSION_MAJOR 1
-#define VERSION_MINOR 13
-#define VERSION_PATCH 1
-#define VERSION_EXTRA "622-gb95d17572"
+#define VERSION_MINOR 14
+#define VERSION_PATCH 0
+#define VERSION_EXTRA "70-g2dead7118"
 #define VERSION_PACKED \
   ((VERSION_MAJOR << 16) | (VERSION_MINOR << 8) | (VERSION_PATCH))
-#define VERSION_STRING_NOSP "v1.13.1-622-gb95d17572"
-#define VERSION_STRING " v1.13.1-622-gb95d17572"
+#define VERSION_STRING_NOSP "v1.14.0-70-g2dead7118"
+#define VERSION_STRING " v1.14.0-70-g2dead7118"
diff --git a/third_party/libvpx/source/config/win/arm64-highbd/vpx_dsp_rtcd.h b/third_party/libvpx/source/config/win/arm64-highbd/vpx_dsp_rtcd.h
index f6641cb..0f07e0a 100644
--- a/third_party/libvpx/source/config/win/arm64-highbd/vpx_dsp_rtcd.h
+++ b/third_party/libvpx/source/config/win/arm64-highbd/vpx_dsp_rtcd.h
@@ -1058,7 +1058,16 @@
                                          const uint8_t* ref_ptr,
                                          int ref_stride,
                                          unsigned int* sse);
-#define vpx_highbd_10_mse16x16 vpx_highbd_10_mse16x16_neon
+unsigned int vpx_highbd_10_mse16x16_sve(const uint8_t* src_ptr,
+                                        int src_stride,
+                                        const uint8_t* ref_ptr,
+                                        int ref_stride,
+                                        unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_10_mse16x16)(const uint8_t* src_ptr,
+                                                   int src_stride,
+                                                   const uint8_t* ref_ptr,
+                                                   int ref_stride,
+                                                   unsigned int* sse);
 
 unsigned int vpx_highbd_10_mse16x8_c(const uint8_t* src_ptr,
                                      int src_stride,
@@ -1070,7 +1079,16 @@
                                         const uint8_t* ref_ptr,
                                         int ref_stride,
                                         unsigned int* sse);
-#define vpx_highbd_10_mse16x8 vpx_highbd_10_mse16x8_neon
+unsigned int vpx_highbd_10_mse16x8_sve(const uint8_t* src_ptr,
+                                       int src_stride,
+                                       const uint8_t* ref_ptr,
+                                       int ref_stride,
+                                       unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_10_mse16x8)(const uint8_t* src_ptr,
+                                                  int src_stride,
+                                                  const uint8_t* ref_ptr,
+                                                  int ref_stride,
+                                                  unsigned int* sse);
 
 unsigned int vpx_highbd_10_mse8x16_c(const uint8_t* src_ptr,
                                      int src_stride,
@@ -1082,7 +1100,16 @@
                                         const uint8_t* ref_ptr,
                                         int ref_stride,
                                         unsigned int* sse);
-#define vpx_highbd_10_mse8x16 vpx_highbd_10_mse8x16_neon
+unsigned int vpx_highbd_10_mse8x16_sve(const uint8_t* src_ptr,
+                                       int src_stride,
+                                       const uint8_t* ref_ptr,
+                                       int ref_stride,
+                                       unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_10_mse8x16)(const uint8_t* src_ptr,
+                                                  int src_stride,
+                                                  const uint8_t* ref_ptr,
+                                                  int ref_stride,
+                                                  unsigned int* sse);
 
 unsigned int vpx_highbd_10_mse8x8_c(const uint8_t* src_ptr,
                                     int src_stride,
@@ -1094,7 +1121,16 @@
                                        const uint8_t* ref_ptr,
                                        int ref_stride,
                                        unsigned int* sse);
-#define vpx_highbd_10_mse8x8 vpx_highbd_10_mse8x8_neon
+unsigned int vpx_highbd_10_mse8x8_sve(const uint8_t* src_ptr,
+                                      int src_stride,
+                                      const uint8_t* ref_ptr,
+                                      int ref_stride,
+                                      unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_10_mse8x8)(const uint8_t* src_ptr,
+                                                 int src_stride,
+                                                 const uint8_t* ref_ptr,
+                                                 int ref_stride,
+                                                 unsigned int* sse);
 
 uint32_t vpx_highbd_10_sub_pixel_avg_variance16x16_c(
     const uint8_t* src_ptr,
@@ -1778,7 +1814,16 @@
                                          const uint8_t* ref_ptr,
                                          int ref_stride,
                                          unsigned int* sse);
-#define vpx_highbd_12_mse16x16 vpx_highbd_12_mse16x16_neon
+unsigned int vpx_highbd_12_mse16x16_sve(const uint8_t* src_ptr,
+                                        int src_stride,
+                                        const uint8_t* ref_ptr,
+                                        int ref_stride,
+                                        unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_12_mse16x16)(const uint8_t* src_ptr,
+                                                   int src_stride,
+                                                   const uint8_t* ref_ptr,
+                                                   int ref_stride,
+                                                   unsigned int* sse);
 
 unsigned int vpx_highbd_12_mse16x8_c(const uint8_t* src_ptr,
                                      int src_stride,
@@ -1790,7 +1835,16 @@
                                         const uint8_t* ref_ptr,
                                         int ref_stride,
                                         unsigned int* sse);
-#define vpx_highbd_12_mse16x8 vpx_highbd_12_mse16x8_neon
+unsigned int vpx_highbd_12_mse16x8_sve(const uint8_t* src_ptr,
+                                       int src_stride,
+                                       const uint8_t* ref_ptr,
+                                       int ref_stride,
+                                       unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_12_mse16x8)(const uint8_t* src_ptr,
+                                                  int src_stride,
+                                                  const uint8_t* ref_ptr,
+                                                  int ref_stride,
+                                                  unsigned int* sse);
 
 unsigned int vpx_highbd_12_mse8x16_c(const uint8_t* src_ptr,
                                      int src_stride,
@@ -1802,7 +1856,16 @@
                                         const uint8_t* ref_ptr,
                                         int ref_stride,
                                         unsigned int* sse);
-#define vpx_highbd_12_mse8x16 vpx_highbd_12_mse8x16_neon
+unsigned int vpx_highbd_12_mse8x16_sve(const uint8_t* src_ptr,
+                                       int src_stride,
+                                       const uint8_t* ref_ptr,
+                                       int ref_stride,
+                                       unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_12_mse8x16)(const uint8_t* src_ptr,
+                                                  int src_stride,
+                                                  const uint8_t* ref_ptr,
+                                                  int ref_stride,
+                                                  unsigned int* sse);
 
 unsigned int vpx_highbd_12_mse8x8_c(const uint8_t* src_ptr,
                                     int src_stride,
@@ -1814,7 +1877,16 @@
                                        const uint8_t* ref_ptr,
                                        int ref_stride,
                                        unsigned int* sse);
-#define vpx_highbd_12_mse8x8 vpx_highbd_12_mse8x8_neon
+unsigned int vpx_highbd_12_mse8x8_sve(const uint8_t* src_ptr,
+                                      int src_stride,
+                                      const uint8_t* ref_ptr,
+                                      int ref_stride,
+                                      unsigned int* sse);
+RTCD_EXTERN unsigned int (*vpx_highbd_12_mse8x8)(const uint8_t* src_ptr,
+                                                 int src_stride,
+                                                 const uint8_t* ref_ptr,
+                                                 int ref_stride,
+                                                 unsigned int* sse);
 
 uint32_t vpx_highbd_12_sub_pixel_avg_variance16x16_c(
     const uint8_t* src_ptr,
@@ -7798,6 +7870,38 @@
   vpx_get8x8var = vpx_get8x8var_neon;
   if (flags & HAS_NEON_DOTPROD)
     vpx_get8x8var = vpx_get8x8var_neon_dotprod;
+  vpx_highbd_10_mse16x16 = vpx_highbd_10_mse16x16_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_10_mse16x16 = vpx_highbd_10_mse16x16_sve;
+  }
+  vpx_highbd_10_mse16x8 = vpx_highbd_10_mse16x8_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_10_mse16x8 = vpx_highbd_10_mse16x8_sve;
+  }
+  vpx_highbd_10_mse8x16 = vpx_highbd_10_mse8x16_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_10_mse8x16 = vpx_highbd_10_mse8x16_sve;
+  }
+  vpx_highbd_10_mse8x8 = vpx_highbd_10_mse8x8_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_10_mse8x8 = vpx_highbd_10_mse8x8_sve;
+  }
+  vpx_highbd_12_mse16x16 = vpx_highbd_12_mse16x16_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_12_mse16x16 = vpx_highbd_12_mse16x16_sve;
+  }
+  vpx_highbd_12_mse16x8 = vpx_highbd_12_mse16x8_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_12_mse16x8 = vpx_highbd_12_mse16x8_sve;
+  }
+  vpx_highbd_12_mse8x16 = vpx_highbd_12_mse8x16_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_12_mse8x16 = vpx_highbd_12_mse8x16_sve;
+  }
+  vpx_highbd_12_mse8x8 = vpx_highbd_12_mse8x8_neon;
+  if (flags & HAS_SVE) {
+    vpx_highbd_12_mse8x8 = vpx_highbd_12_mse8x8_sve;
+  }
   vpx_highbd_8_mse16x16 = vpx_highbd_8_mse16x16_neon;
   if (flags & HAS_NEON_DOTPROD) {
     vpx_highbd_8_mse16x16 = vpx_highbd_8_mse16x16_neon_dotprod;
diff --git a/third_party/libvpx/source/libvpx b/third_party/libvpx/source/libvpx
index b95d175..2dead71 160000
--- a/third_party/libvpx/source/libvpx
+++ b/third_party/libvpx/source/libvpx
@@ -1 +1 @@
-Subproject commit b95d17572629c676bdcfd535fb3990b9f6f8fb11
+Subproject commit 2dead7118aeb86e98793dcd3873862e6e2115c8a
diff --git a/third_party/perfetto b/third_party/perfetto
index 47d8a29..943b66c4 160000
--- a/third_party/perfetto
+++ b/third_party/perfetto
@@ -1 +1 @@
-Subproject commit 47d8a29df6e99068a49745c75929874caf6d2630
+Subproject commit 943b66c41f8e415f8fecc1b3bf34274cf96cf0c1
diff --git a/third_party/skia b/third_party/skia
index 61a2dcf..7b38914 160000
--- a/third_party/skia
+++ b/third_party/skia
@@ -1 +1 @@
-Subproject commit 61a2dcff41941382a000957210e314a1b4c92a06
+Subproject commit 7b38914297aac887aa2a77161db571e5a7f525dc
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system.dlldata.c
new file mode 100644
index 0000000..fc855fd
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_idl_system )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_idl_system ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system.h
new file mode 100644
index 0000000..f0dabce
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system.h
@@ -0,0 +1,2284 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_idl_system_h__

+#define __updater_idl_system_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdateState_FWD_DEFINED__

+#define __IUpdateState_FWD_DEFINED__

+typedef interface IUpdateState IUpdateState;

+

+#endif 	/* __IUpdateState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateSystem_FWD_DEFINED__

+#define __IUpdateStateSystem_FWD_DEFINED__

+typedef interface IUpdateStateSystem IUpdateStateSystem;

+

+#endif 	/* __IUpdateStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_FWD_DEFINED__

+#define __ICompleteStatus_FWD_DEFINED__

+typedef interface ICompleteStatus ICompleteStatus;

+

+#endif 	/* __ICompleteStatus_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusSystem_FWD_DEFINED__

+#define __ICompleteStatusSystem_FWD_DEFINED__

+typedef interface ICompleteStatusSystem ICompleteStatusSystem;

+

+#endif 	/* __ICompleteStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_FWD_DEFINED__

+#define __IUpdaterObserver_FWD_DEFINED__

+typedef interface IUpdaterObserver IUpdaterObserver;

+

+#endif 	/* __IUpdaterObserver_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverSystem_FWD_DEFINED__

+#define __IUpdaterObserverSystem_FWD_DEFINED__

+typedef interface IUpdaterObserverSystem IUpdaterObserverSystem;

+

+#endif 	/* __IUpdaterObserverSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_FWD_DEFINED__

+#define __IUpdaterCallback_FWD_DEFINED__

+typedef interface IUpdaterCallback IUpdaterCallback;

+

+#endif 	/* __IUpdaterCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackSystem_FWD_DEFINED__

+#define __IUpdaterCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterCallbackSystem IUpdaterCallbackSystem;

+

+#endif 	/* __IUpdaterCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateSystem_FWD_DEFINED__

+#define __IUpdaterAppStateSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStateSystem IUpdaterAppStateSystem;

+

+#endif 	/* __IUpdaterAppStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_FWD_DEFINED__

+#define __IUpdaterAppStatesCallback_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallback IUpdaterAppStatesCallback;

+

+#endif 	/* __IUpdaterAppStatesCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackSystem IUpdaterAppStatesCallbackSystem;

+

+#endif 	/* __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdater_FWD_DEFINED__

+#define __IUpdater_FWD_DEFINED__

+typedef interface IUpdater IUpdater;

+

+#endif 	/* __IUpdater_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterSystem_FWD_DEFINED__

+#define __IUpdaterSystem_FWD_DEFINED__

+typedef interface IUpdaterSystem IUpdaterSystem;

+

+#endif 	/* __IUpdaterSystem_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterUserClass_FWD_DEFINED__

+#define __UpdaterUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterUserClass UpdaterUserClass;

+#else

+typedef struct UpdaterUserClass UpdaterUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterSystemClass_FWD_DEFINED__

+#define __UpdaterSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterSystemClass UpdaterSystemClass;

+#else

+typedef struct UpdaterSystemClass UpdaterSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateSystem_FWD_DEFINED__

+#define __IUpdateStateSystem_FWD_DEFINED__

+typedef interface IUpdateStateSystem IUpdateStateSystem;

+

+#endif 	/* __IUpdateStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusSystem_FWD_DEFINED__

+#define __ICompleteStatusSystem_FWD_DEFINED__

+typedef interface ICompleteStatusSystem ICompleteStatusSystem;

+

+#endif 	/* __ICompleteStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverSystem_FWD_DEFINED__

+#define __IUpdaterObserverSystem_FWD_DEFINED__

+typedef interface IUpdaterObserverSystem IUpdaterObserverSystem;

+

+#endif 	/* __IUpdaterObserverSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackSystem_FWD_DEFINED__

+#define __IUpdaterCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterCallbackSystem IUpdaterCallbackSystem;

+

+#endif 	/* __IUpdaterCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateSystem_FWD_DEFINED__

+#define __IUpdaterAppStateSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStateSystem IUpdaterAppStateSystem;

+

+#endif 	/* __IUpdaterAppStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackSystem IUpdaterAppStatesCallbackSystem;

+

+#endif 	/* __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterSystem_FWD_DEFINED__

+#define __IUpdaterSystem_FWD_DEFINED__

+typedef interface IUpdaterSystem IUpdaterSystem;

+

+#endif 	/* __IUpdaterSystem_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdateState_INTERFACE_DEFINED__

+#define __IUpdateState_INTERFACE_DEFINED__

+

+/* interface IUpdateState */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateState;

+

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

+    

+    MIDL_INTERFACE("46ACF70B-AC13-406D-B53B-B2C4BF091FF6")

+    IUpdateState : public IUnknown

+    {

+    public:

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002) = 0;

+        

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

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003) = 0;

+        

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

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004) = 0;

+        

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005) = 0;

+        

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006) = 0;

+        

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007) = 0;

+        

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateState * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_state)

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

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_appId)

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

+            IUpdateState * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_nextVersion)

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

+            IUpdateState * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_downloadedBytes)

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

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_totalBytes)

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

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installProgress)

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

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCategory)

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

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCode)

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

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_extraCode1)

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

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerText)

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

+            IUpdateState * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerCommandLine)

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

+            IUpdateState * This,

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

+        

+        END_INTERFACE

+    } IUpdateStateVtbl;

+

+    interface IUpdateState

+    {

+        CONST_VTBL struct IUpdateStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdateState_AddRef(This)	\

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

+

+#define IUpdateState_Release(This)	\

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

+

+

+#define IUpdateState_get_state(This,__MIDL__IUpdateState0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateState0000) ) 

+

+#define IUpdateState_get_appId(This,__MIDL__IUpdateState0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateState0001) ) 

+

+#define IUpdateState_get_nextVersion(This,__MIDL__IUpdateState0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateState0002) ) 

+

+#define IUpdateState_get_downloadedBytes(This,__MIDL__IUpdateState0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateState0003) ) 

+

+#define IUpdateState_get_totalBytes(This,__MIDL__IUpdateState0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateState0004) ) 

+

+#define IUpdateState_get_installProgress(This,__MIDL__IUpdateState0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateState0005) ) 

+

+#define IUpdateState_get_errorCategory(This,__MIDL__IUpdateState0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateState0006) ) 

+

+#define IUpdateState_get_errorCode(This,__MIDL__IUpdateState0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateState0007) ) 

+

+#define IUpdateState_get_extraCode1(This,__MIDL__IUpdateState0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateState0008) ) 

+

+#define IUpdateState_get_installerText(This,__MIDL__IUpdateState0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateState0009) ) 

+

+#define IUpdateState_get_installerCommandLine(This,__MIDL__IUpdateState0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateState0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdateStateSystem_INTERFACE_DEFINED__

+#define __IUpdateStateSystem_INTERFACE_DEFINED__

+

+/* interface IUpdateStateSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateStateSystem;

+

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

+    

+    MIDL_INTERFACE("EA6FDC05-CDC5-4EA4-AB41-CCBD1040A2B5")

+    IUpdateStateSystem : public IUnknown

+    {

+    public:

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0000) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0001) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0002) = 0;

+        

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

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0003) = 0;

+        

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

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0004) = 0;

+        

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0005) = 0;

+        

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0006) = 0;

+        

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0007) = 0;

+        

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

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0008) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0009) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateStateSystem * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_state)

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

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_appId)

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

+            IUpdateStateSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_nextVersion)

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

+            IUpdateStateSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_downloadedBytes)

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

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_totalBytes)

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

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_installProgress)

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

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_errorCategory)

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

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_errorCode)

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

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_extraCode1)

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

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_installerText)

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

+            IUpdateStateSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_installerCommandLine)

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

+            IUpdateStateSystem * This,

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

+        

+        END_INTERFACE

+    } IUpdateStateSystemVtbl;

+

+    interface IUpdateStateSystem

+    {

+        CONST_VTBL struct IUpdateStateSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdateStateSystem_AddRef(This)	\

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

+

+#define IUpdateStateSystem_Release(This)	\

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

+

+

+#define IUpdateStateSystem_get_state(This,__MIDL__IUpdateStateSystem0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateStateSystem0000) ) 

+

+#define IUpdateStateSystem_get_appId(This,__MIDL__IUpdateStateSystem0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateStateSystem0001) ) 

+

+#define IUpdateStateSystem_get_nextVersion(This,__MIDL__IUpdateStateSystem0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateStateSystem0002) ) 

+

+#define IUpdateStateSystem_get_downloadedBytes(This,__MIDL__IUpdateStateSystem0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateStateSystem0003) ) 

+

+#define IUpdateStateSystem_get_totalBytes(This,__MIDL__IUpdateStateSystem0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateStateSystem0004) ) 

+

+#define IUpdateStateSystem_get_installProgress(This,__MIDL__IUpdateStateSystem0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateStateSystem0005) ) 

+

+#define IUpdateStateSystem_get_errorCategory(This,__MIDL__IUpdateStateSystem0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateStateSystem0006) ) 

+

+#define IUpdateStateSystem_get_errorCode(This,__MIDL__IUpdateStateSystem0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateStateSystem0007) ) 

+

+#define IUpdateStateSystem_get_extraCode1(This,__MIDL__IUpdateStateSystem0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateStateSystem0008) ) 

+

+#define IUpdateStateSystem_get_installerText(This,__MIDL__IUpdateStateSystem0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateStateSystem0009) ) 

+

+#define IUpdateStateSystem_get_installerCommandLine(This,__MIDL__IUpdateStateSystem0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateStateSystem0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateStateSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_INTERFACE_DEFINED__

+#define __ICompleteStatus_INTERFACE_DEFINED__

+

+/* interface ICompleteStatus */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatus;

+

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

+    

+    MIDL_INTERFACE("2FCD14AF-B645-4351-8359-E80A0E202A0B")

+    ICompleteStatus : public IUnknown

+    {

+    public:

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

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatus * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusCode)

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

+            ICompleteStatus * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusMessage)

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

+            ICompleteStatus * This,

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

+        

+        END_INTERFACE

+    } ICompleteStatusVtbl;

+

+    interface ICompleteStatus

+    {

+        CONST_VTBL struct ICompleteStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define ICompleteStatus_AddRef(This)	\

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

+

+#define ICompleteStatus_Release(This)	\

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

+

+

+#define ICompleteStatus_get_statusCode(This,__MIDL__ICompleteStatus0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatus0000) ) 

+

+#define ICompleteStatus_get_statusMessage(This,__MIDL__ICompleteStatus0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatus0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatusSystem_INTERFACE_DEFINED__

+#define __ICompleteStatusSystem_INTERFACE_DEFINED__

+

+/* interface ICompleteStatusSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatusSystem;

+

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

+    

+    MIDL_INTERFACE("E2BD9A6B-0A19-4C89-AE8B-B7E9E51D9A07")

+    ICompleteStatusSystem : public IUnknown

+    {

+    public:

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

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusSystem0000) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusSystem0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatusSystem * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusSystem, get_statusCode)

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

+            ICompleteStatusSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusSystem0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusSystem, get_statusMessage)

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

+            ICompleteStatusSystem * This,

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

+        

+        END_INTERFACE

+    } ICompleteStatusSystemVtbl;

+

+    interface ICompleteStatusSystem

+    {

+        CONST_VTBL struct ICompleteStatusSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define ICompleteStatusSystem_AddRef(This)	\

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

+

+#define ICompleteStatusSystem_Release(This)	\

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

+

+

+#define ICompleteStatusSystem_get_statusCode(This,__MIDL__ICompleteStatusSystem0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatusSystem0000) ) 

+

+#define ICompleteStatusSystem_get_statusMessage(This,__MIDL__ICompleteStatusSystem0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatusSystem0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatusSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_INTERFACE_DEFINED__

+#define __IUpdaterObserver_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserver */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserver;

+

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

+    

+    MIDL_INTERFACE("7B416CFD-4216-4FD6-BD83-7C586054676E")

+    IUpdaterObserver : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateState *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatus *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserver * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserver * This,

+            /* [in] */ IUpdateState *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserver * This,

+            /* [in] */ ICompleteStatus *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverVtbl;

+

+    interface IUpdaterObserver

+    {

+        CONST_VTBL struct IUpdaterObserverVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdaterObserver_AddRef(This)	\

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

+

+#define IUpdaterObserver_Release(This)	\

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

+

+

+#define IUpdaterObserver_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserver_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserver_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverSystem_INTERFACE_DEFINED__

+#define __IUpdaterObserverSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserverSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserverSystem;

+

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

+    

+    MIDL_INTERFACE("057B500A-4BA2-496A-B1CD-C5DED3CCC61B")

+    IUpdaterObserverSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateStateSystem *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatusSystem *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserverSystem * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserverSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserverSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverSystem, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserverSystem * This,

+            /* [in] */ IUpdateStateSystem *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverSystem, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserverSystem * This,

+            /* [in] */ ICompleteStatusSystem *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverSystemVtbl;

+

+    interface IUpdaterObserverSystem

+    {

+        CONST_VTBL struct IUpdaterObserverSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdaterObserverSystem_AddRef(This)	\

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

+

+#define IUpdaterObserverSystem_Release(This)	\

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

+

+

+#define IUpdaterObserverSystem_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserverSystem_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserverSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_INTERFACE_DEFINED__

+#define __IUpdaterCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallback;

+

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

+    

+    MIDL_INTERFACE("8BAB6F84-AD67-4819-B846-CC890880FD3B")

+    IUpdaterCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallback * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackVtbl;

+

+    interface IUpdaterCallback

+    {

+        CONST_VTBL struct IUpdaterCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdaterCallback_AddRef(This)	\

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

+

+#define IUpdaterCallback_Release(This)	\

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

+

+

+#define IUpdaterCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackSystem_INTERFACE_DEFINED__

+#define __IUpdaterCallbackSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallbackSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallbackSystem;

+

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

+    

+    MIDL_INTERFACE("F0D6763A-0182-4136-B1FA-508E334CFFC1")

+    IUpdaterCallbackSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallbackSystem * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallbackSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallbackSystem * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackSystemVtbl;

+

+    interface IUpdaterCallbackSystem

+    {

+        CONST_VTBL struct IUpdaterCallbackSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdaterCallbackSystem_AddRef(This)	\

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

+

+#define IUpdaterCallbackSystem_Release(This)	\

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

+

+

+#define IUpdaterCallbackSystem_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallbackSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_INTERFACE_DEFINED__

+#define __IUpdaterAppState_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppState;

+

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

+    

+    MIDL_INTERFACE("A22AFC54-2DEF-4578-9187-DB3B24381090")

+    IUpdaterAppState : public IDispatch

+    {

+    public:

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppState * This,

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

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

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

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

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

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

+            /* [in] */ LCID lcid,

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

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

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

+            IUpdaterAppState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

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

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_appId)

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

+            IUpdaterAppState * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_version)

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

+            IUpdaterAppState * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ap)

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

+            IUpdaterAppState * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandCode)

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

+            IUpdaterAppState * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandPath)

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

+            IUpdaterAppState * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ecp)

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

+            IUpdaterAppState * This,

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

+        

+        END_INTERFACE

+    } IUpdaterAppStateVtbl;

+

+    interface IUpdaterAppState

+    {

+        CONST_VTBL struct IUpdaterAppStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdaterAppState_AddRef(This)	\

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

+

+#define IUpdaterAppState_Release(This)	\

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

+

+

+#define IUpdaterAppState_GetTypeInfoCount(This,pctinfo)	\

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

+

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

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

+

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

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

+

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

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

+

+

+#define IUpdaterAppState_get_appId(This,__MIDL__IUpdaterAppState0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppState0000) ) 

+

+#define IUpdaterAppState_get_version(This,__MIDL__IUpdaterAppState0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppState0001) ) 

+

+#define IUpdaterAppState_get_ap(This,__MIDL__IUpdaterAppState0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppState0002) ) 

+

+#define IUpdaterAppState_get_brandCode(This,__MIDL__IUpdaterAppState0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppState0003) ) 

+

+#define IUpdaterAppState_get_brandPath(This,__MIDL__IUpdaterAppState0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppState0004) ) 

+

+#define IUpdaterAppState_get_ecp(This,__MIDL__IUpdaterAppState0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppState0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateSystem_INTERFACE_DEFINED__

+#define __IUpdaterAppStateSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStateSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStateSystem;

+

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

+    

+    MIDL_INTERFACE("92631531-8044-46F4-B645-CDFBCCC7FA3B")

+    IUpdaterAppStateSystem : public IDispatch

+    {

+    public:

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0000) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0001) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0002) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0003) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0004) = 0;

+        

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

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStateSystem * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppStateSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppStateSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

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

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppStateSystem * This,

+            /* [in] */ REFIID riid,

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

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

+            /* [in] */ LCID lcid,

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

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

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

+            IUpdaterAppStateSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

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

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_appId)

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

+            IUpdaterAppStateSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_version)

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

+            IUpdaterAppStateSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_ap)

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

+            IUpdaterAppStateSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_brandCode)

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

+            IUpdaterAppStateSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_brandPath)

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

+            IUpdaterAppStateSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_ecp)

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

+            IUpdaterAppStateSystem * This,

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

+        

+        END_INTERFACE

+    } IUpdaterAppStateSystemVtbl;

+

+    interface IUpdaterAppStateSystem

+    {

+        CONST_VTBL struct IUpdaterAppStateSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdaterAppStateSystem_AddRef(This)	\

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

+

+#define IUpdaterAppStateSystem_Release(This)	\

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

+

+

+#define IUpdaterAppStateSystem_GetTypeInfoCount(This,pctinfo)	\

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

+

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

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

+

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

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

+

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

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

+

+

+#define IUpdaterAppStateSystem_get_appId(This,__MIDL__IUpdaterAppStateSystem0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppStateSystem0000) ) 

+

+#define IUpdaterAppStateSystem_get_version(This,__MIDL__IUpdaterAppStateSystem0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppStateSystem0001) ) 

+

+#define IUpdaterAppStateSystem_get_ap(This,__MIDL__IUpdaterAppStateSystem0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppStateSystem0002) ) 

+

+#define IUpdaterAppStateSystem_get_brandCode(This,__MIDL__IUpdaterAppStateSystem0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppStateSystem0003) ) 

+

+#define IUpdaterAppStateSystem_get_brandPath(This,__MIDL__IUpdaterAppStateSystem0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppStateSystem0004) ) 

+

+#define IUpdaterAppStateSystem_get_ecp(This,__MIDL__IUpdaterAppStateSystem0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppStateSystem0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStateSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallback;

+

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

+    

+    MIDL_INTERFACE("EFE903C0-E820-4136-9FAE-FDCD7F256302")

+    IUpdaterAppStatesCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackVtbl;

+

+    interface IUpdaterAppStatesCallback

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdaterAppStatesCallback_AddRef(This)	\

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

+

+#define IUpdaterAppStatesCallback_Release(This)	\

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

+

+

+#define IUpdaterAppStatesCallback_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackSystem_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallbackSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallbackSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallbackSystem;

+

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

+    

+    MIDL_INTERFACE("2CB8867E-495E-459F-B1B6-2DD7FFDBD462")

+    IUpdaterAppStatesCallbackSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallbackSystem * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallbackSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallbackSystem * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackSystemVtbl;

+

+    interface IUpdaterAppStatesCallbackSystem

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdaterAppStatesCallbackSystem_AddRef(This)	\

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

+

+#define IUpdaterAppStatesCallbackSystem_Release(This)	\

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

+

+

+#define IUpdaterAppStatesCallbackSystem_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallbackSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdater_INTERFACE_DEFINED__

+#define __IUpdater_INTERFACE_DEFINED__

+

+/* interface IUpdater */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdater;

+

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

+    

+    MIDL_INTERFACE("63B8FFB1-5314-48C9-9C57-93EC8BC6184B")

+    IUpdater : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdater * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdater * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdater, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterAppStatesCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterVtbl;

+

+    interface IUpdater

+    {

+        CONST_VTBL struct IUpdaterVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdater_AddRef(This)	\

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

+

+#define IUpdater_Release(This)	\

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

+

+

+#define IUpdater_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdater_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdater_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdater_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdater_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdater_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdater_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdater_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdater_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdater_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterSystem_INTERFACE_DEFINED__

+#define __IUpdaterSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterSystem;

+

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

+    

+    MIDL_INTERFACE("FCE335F3-A55C-496E-814F-85971C9FA6F1")

+    IUpdaterSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallbackSystem *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterSystem * This,

+            /* [in] */ REFIID riid,

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

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdaterSystem * This,

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

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterAppStatesCallbackSystem *callback);

+        

+        END_INTERFACE

+    } IUpdaterSystemVtbl;

+

+    interface IUpdaterSystem

+    {

+        CONST_VTBL struct IUpdaterSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

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

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

+

+#define IUpdaterSystem_AddRef(This)	\

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

+

+#define IUpdaterSystem_Release(This)	\

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

+

+

+#define IUpdaterSystem_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdaterSystem_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdaterSystem_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdaterSystem_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdaterSystem_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterSystem_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterSystem_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdaterSystem_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdaterSystem_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdaterSystem_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdaterSystem_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterSystem_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLib_LIBRARY_DEFINED__

+#define __UpdaterLib_LIBRARY_DEFINED__

+

+/* library UpdaterLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLib;

+

+EXTERN_C const CLSID CLSID_UpdaterUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("158428a4-6014-4978-83ba-9fad0dabe791")

+UpdaterUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("415FD747-D79E-42D7-93AC-1BA6E5FD4E93")

+UpdaterSystemClass;

+#endif

+#endif /* __UpdaterLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system.tlb
new file mode 100644
index 0000000..609eca4
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system_i.c
new file mode 100644
index 0000000..9c8ced5c
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system_i.c
@@ -0,0 +1,127 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateState,0x46ACF70B,0xAC13,0x406D,0xB5,0x3B,0xB2,0xC4,0xBF,0x09,0x1F,0xF6);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateStateSystem,0xEA6FDC05,0xCDC5,0x4EA4,0xAB,0x41,0xCC,0xBD,0x10,0x40,0xA2,0xB5);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatus,0x2FCD14AF,0xB645,0x4351,0x83,0x59,0xE8,0x0A,0x0E,0x20,0x2A,0x0B);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatusSystem,0xE2BD9A6B,0x0A19,0x4C89,0xAE,0x8B,0xB7,0xE9,0xE5,0x1D,0x9A,0x07);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserver,0x7B416CFD,0x4216,0x4FD6,0xBD,0x83,0x7C,0x58,0x60,0x54,0x67,0x6E);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserverSystem,0x057B500A,0x4BA2,0x496A,0xB1,0xCD,0xC5,0xDE,0xD3,0xCC,0xC6,0x1B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallback,0x8BAB6F84,0xAD67,0x4819,0xB8,0x46,0xCC,0x89,0x08,0x80,0xFD,0x3B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallbackSystem,0xF0D6763A,0x0182,0x4136,0xB1,0xFA,0x50,0x8E,0x33,0x4C,0xFF,0xC1);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppState,0xA22AFC54,0x2DEF,0x4578,0x91,0x87,0xDB,0x3B,0x24,0x38,0x10,0x90);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStateSystem,0x92631531,0x8044,0x46F4,0xB6,0x45,0xCD,0xFB,0xCC,0xC7,0xFA,0x3B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallback,0xEFE903C0,0xE820,0x4136,0x9F,0xAE,0xFD,0xCD,0x7F,0x25,0x63,0x02);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallbackSystem,0x2CB8867E,0x495E,0x459F,0xB1,0xB6,0x2D,0xD7,0xFF,0xDB,0xD4,0x62);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdater,0x63B8FFB1,0x5314,0x48C9,0x9C,0x57,0x93,0xEC,0x8B,0xC6,0x18,0x4B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterSystem,0xFCE335F3,0xA55C,0x496E,0x81,0x4F,0x85,0x97,0x1C,0x9F,0xA6,0xF1);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLib,0x69464FF0,0xD9EC,0x4037,0xA3,0x5F,0x8A,0xE4,0x35,0x81,0x06,0xCC);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterUserClass,0x158428a4,0x6014,0x4978,0x83,0xba,0x9f,0xad,0x0d,0xab,0xe7,0x91);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterSystemClass,0x415FD747,0xD79E,0x42D7,0x93,0xAC,0x1B,0xA6,0xE5,0xFD,0x4E,0x93);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system_p.c
new file mode 100644
index 0000000..2dd9d8861
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_system_p.c
@@ -0,0 +1,4260 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_ARM64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_idl_system.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1199                              

+#define PROC_FORMAT_STRING_SIZE   2137                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_idl_system_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_idl_system_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_idl_system_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_idl_system_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_idl_system_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_idl_system_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_idl_system_MIDL_TYPE_FORMAT_STRING updater_idl_system__MIDL_TypeFormatString;

+extern const updater_idl_system_MIDL_PROC_FORMAT_STRING updater_idl_system__MIDL_ProcFormatString;

+extern const updater_idl_system_MIDL_EXPR_FORMAT_STRING updater_idl_system__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateStateSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateStateSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatusSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatusSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserverSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallbackSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStateSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallbackSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdater_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterSystem_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_ARM64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_idl_system_MIDL_PROC_FORMAT_STRING updater_idl_system__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_state */

+

+

+	/* Procedure get_state */

+

+			0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 16 */	0xe,		/* 14 */

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

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

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

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

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

+/* 26 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 28 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusSystem0000 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0000 */

+

+

+	/* Parameter __MIDL__IUpdateStateSystem0000 */

+

+

+	/* Parameter __MIDL__IUpdateState0000 */

+

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

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

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 40 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 42 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 58 */	0xe,		/* 14 */

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

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

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

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

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

+/* 68 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 70 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusSystem0001 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0001 */

+

+

+	/* Parameter __MIDL__IUpdateStateSystem0001 */

+

+

+	/* Parameter __MIDL__IUpdateState0001 */

+

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

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

+/* 76 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 82 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersion */

+

+

+	/* Procedure get_nextVersion */

+

+/* 84 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 100 */	0xe,		/* 14 */

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

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

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

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

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

+/* 110 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 112 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0002 */

+

+

+	/* Parameter __MIDL__IUpdateState0002 */

+

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

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

+/* 118 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 124 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadedBytes */

+

+

+	/* Procedure get_downloadedBytes */

+

+/* 126 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

+/* 138 */	NdrFcShort( 0x2c ),	/* 44 */

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

+			0x2,		/* 2 */

+/* 142 */	0xe,		/* 14 */

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

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

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

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

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

+/* 152 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 154 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0003 */

+

+

+	/* Parameter __MIDL__IUpdateState0003 */

+

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

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

+/* 160 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 166 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_totalBytes */

+

+

+	/* Procedure get_totalBytes */

+

+/* 168 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

+/* 180 */	NdrFcShort( 0x2c ),	/* 44 */

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

+			0x2,		/* 2 */

+/* 184 */	0xe,		/* 14 */

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

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

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

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

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

+/* 194 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 196 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0004 */

+

+

+	/* Parameter __MIDL__IUpdateState0004 */

+

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

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

+/* 202 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 208 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 210 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 226 */	0xe,		/* 14 */

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

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

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

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

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

+/* 236 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 238 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0005 */

+

+

+	/* Parameter __MIDL__IUpdateState0005 */

+

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

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

+/* 244 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 250 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCategory */

+

+

+	/* Procedure get_errorCategory */

+

+/* 252 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 268 */	0xe,		/* 14 */

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

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

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

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

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

+/* 278 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 280 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0006 */

+

+

+	/* Parameter __MIDL__IUpdateState0006 */

+

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

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

+/* 286 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 292 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 294 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 300 */	NdrFcShort( 0xa ),	/* 10 */

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

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

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

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

+			0x2,		/* 2 */

+/* 310 */	0xe,		/* 14 */

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

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

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

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

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

+/* 320 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 322 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0007 */

+

+

+	/* Parameter __MIDL__IUpdateState0007 */

+

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

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

+/* 328 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 334 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 336 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 342 */	NdrFcShort( 0xb ),	/* 11 */

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

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

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

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

+			0x2,		/* 2 */

+/* 352 */	0xe,		/* 14 */

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

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

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

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

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

+/* 362 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 364 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0008 */

+

+

+	/* Parameter __MIDL__IUpdateState0008 */

+

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

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

+/* 370 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 376 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_installerText */

+

+

+	/* Procedure get_installerText */

+

+/* 378 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 384 */	NdrFcShort( 0xc ),	/* 12 */

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

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

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

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

+			0x2,		/* 2 */

+/* 394 */	0xe,		/* 14 */

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

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

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

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

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

+/* 404 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 406 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0005 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0005 */

+

+

+	/* Parameter __MIDL__IUpdateStateSystem0009 */

+

+

+	/* Parameter __MIDL__IUpdateState0009 */

+

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

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

+/* 412 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 418 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerCommandLine */

+

+

+	/* Procedure get_installerCommandLine */

+

+/* 420 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 426 */	NdrFcShort( 0xd ),	/* 13 */

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

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

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

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

+			0x2,		/* 2 */

+/* 436 */	0xe,		/* 14 */

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

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

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

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

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

+/* 446 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 448 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0010 */

+

+

+	/* Parameter __MIDL__IUpdateState0010 */

+

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

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

+/* 454 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 460 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 462 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 478 */	0xe,		/* 14 */

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

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

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

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

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

+/* 488 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 490 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter update_state */

+

+/* 492 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 496 */	NdrFcShort( 0x32 ),	/* Type Offset=50 */

+

+	/* Return value */

+

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

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

+/* 502 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 504 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 520 */	0xe,		/* 14 */

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

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

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

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

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

+/* 530 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 532 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter status */

+

+/* 534 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 538 */	NdrFcShort( 0x44 ),	/* Type Offset=68 */

+

+	/* Return value */

+

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

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

+/* 544 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 546 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 562 */	0xe,		/* 14 */

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

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

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

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

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

+/* 572 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 574 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter update_state */

+

+/* 576 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 580 */	NdrFcShort( 0x56 ),	/* Type Offset=86 */

+

+	/* Return value */

+

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

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

+/* 586 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 588 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 604 */	0xe,		/* 14 */

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

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

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

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

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

+/* 614 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 616 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter status */

+

+/* 618 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 622 */	NdrFcShort( 0x68 ),	/* Type Offset=104 */

+

+	/* Return value */

+

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

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

+/* 628 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 630 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 646 */	0xe,		/* 14 */

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

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

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

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

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

+/* 656 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 658 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

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

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

+/* 664 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 670 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 672 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 688 */	0xe,		/* 14 */

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

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

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

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

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

+/* 698 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 700 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0000 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0000 */

+

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

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

+/* 706 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 712 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+/* 714 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 730 */	0xe,		/* 14 */

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

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

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

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

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

+/* 740 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 742 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0001 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0001 */

+

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

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

+/* 748 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 754 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ap */

+

+

+	/* Procedure get_ap */

+

+/* 756 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 772 */	0xe,		/* 14 */

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

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

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

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

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

+/* 782 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 784 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0002 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0002 */

+

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

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

+/* 790 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 796 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandCode */

+

+

+	/* Procedure get_brandCode */

+

+/* 798 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 804 */	NdrFcShort( 0xa ),	/* 10 */

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

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

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

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

+			0x2,		/* 2 */

+/* 814 */	0xe,		/* 14 */

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

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

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

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

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

+/* 824 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 826 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0003 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0003 */

+

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

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

+/* 832 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 838 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandPath */

+

+

+	/* Procedure get_brandPath */

+

+/* 840 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 846 */	NdrFcShort( 0xb ),	/* 11 */

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

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

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

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

+			0x2,		/* 2 */

+/* 856 */	0xe,		/* 14 */

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

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

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

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

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

+/* 866 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 868 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0004 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0004 */

+

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

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

+/* 874 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 880 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 882 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 898 */	0xe,		/* 14 */

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

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

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

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

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

+/* 908 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 910 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter app_states */

+

+

+	/* Parameter app_states */

+

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

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

+/* 916 */	NdrFcShort( 0x434 ),	/* Type Offset=1076 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 922 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetVersion */

+

+

+	/* Procedure GetVersion */

+

+/* 924 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 940 */	0xe,		/* 14 */

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

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

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

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

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

+/* 950 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 952 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

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

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

+/* 958 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 964 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 966 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 982 */	0xe,		/* 14 */

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

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

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

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

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

+/* 992 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 994 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 996 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 1000 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

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

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

+/* 1006 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 1008 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

+/* 1016 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

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

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

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

+			0x8,		/* 8 */

+/* 1024 */	0x14,		/* 20 */

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

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

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

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

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

+/* 1034 */	0x8,		/* 8 */

+			0x80,		/* 128 */

+/* 1036 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1038 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1040 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1042 */	0x87,		/* 135 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

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

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

+/* 1048 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

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

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

+/* 1054 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

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

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

+/* 1060 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

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

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

+/* 1066 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

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

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

+/* 1072 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

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

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

+/* 1078 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter callback */

+

+/* 1080 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 1084 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

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

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

+/* 1090 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 1092 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 1108 */	0xe,		/* 14 */

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

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

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

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

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

+/* 1118 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1120 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 1122 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 1126 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

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

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

+/* 1132 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1134 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x5,		/* 5 */

+/* 1150 */	0x10,		/* 16 */

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

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

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

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

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

+/* 1160 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 1162 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1164 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter app_id */

+

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

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

+/* 1170 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

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

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

+/* 1176 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

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

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

+/* 1182 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1184 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 1188 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

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

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

+/* 1194 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1196 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x6,		/* 6 */

+/* 1212 */	0x12,		/* 18 */

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

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

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

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

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

+/* 1222 */	0x6,		/* 6 */

+			0x80,		/* 128 */

+/* 1224 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1226 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1228 */	0x85,		/* 133 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

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

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

+/* 1234 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

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

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

+/* 1240 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

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

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

+/* 1246 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

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

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

+/* 1252 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1254 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 1258 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

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

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

+/* 1264 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1266 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 1282 */	0xe,		/* 14 */

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

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

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

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

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

+/* 1292 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1294 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1296 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 1300 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

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

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

+/* 1306 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1308 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 1314 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1316 */	NdrFcShort( 0x60 ),	/* ARM64 Stack size/offset = 96 */

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

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

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

+			0xb,		/* 11 */

+/* 1324 */	0x16,		/* 22 */

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

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

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

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

+/* 1332 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1334 */	0xb,		/* 11 */

+			0x80,		/* 128 */

+/* 1336 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1338 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1340 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1342 */	0x87,		/* 135 */

+			0xf8,		/* 248 */

+/* 1344 */	0xf8,		/* 248 */

+			0xf8,		/* 248 */

+

+	/* Parameter app_id */

+

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

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

+/* 1350 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

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

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

+/* 1356 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

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

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

+/* 1362 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

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

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

+/* 1368 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

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

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

+/* 1374 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

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

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

+/* 1380 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter client_install_data */

+

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

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

+/* 1386 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

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

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

+/* 1392 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

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

+/* 1396 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

+/* 1398 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1400 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1402 */	NdrFcShort( 0x50 ),	/* ARM64 Stack size/offset = 80 */

+/* 1404 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

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

+/* 1408 */	NdrFcShort( 0x58 ),	/* ARM64 Stack size/offset = 88 */

+/* 1410 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CancelInstalls */

+

+

+	/* Procedure CancelInstalls */

+

+/* 1412 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 1418 */	NdrFcShort( 0xb ),	/* 11 */

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

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

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

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

+			0x2,		/* 2 */

+/* 1428 */	0xe,		/* 14 */

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

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

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

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

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

+/* 1438 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1440 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

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

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

+/* 1446 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Return value */

+

+

+	/* Return value */

+

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

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

+/* 1452 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1454 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 1460 */	NdrFcShort( 0xc ),	/* 12 */

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

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

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

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

+			0x7,		/* 7 */

+/* 1470 */	0x12,		/* 18 */

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

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

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

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

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

+/* 1480 */	0x7,		/* 7 */

+			0x80,		/* 128 */

+/* 1482 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1484 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1486 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+

+	/* Parameter app_id */

+

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

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

+/* 1492 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter installer_path */

+

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

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

+/* 1498 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_args */

+

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

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

+/* 1504 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data */

+

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

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

+/* 1510 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_settings */

+

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

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

+/* 1516 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter observer */

+

+/* 1518 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 1522 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

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

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

+/* 1528 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1530 */	0x33,		/* FC_AUTO_HANDLE */

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

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

+/* 1536 */	NdrFcShort( 0xd ),	/* 13 */

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

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

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

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

+			0x2,		/* 2 */

+/* 1546 */	0xe,		/* 14 */

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

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

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

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

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

+/* 1556 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1558 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 1560 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 1564 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

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

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

+/* 1570 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 1572 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

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

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

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

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

+			0x2,		/* 2 */

+/* 1588 */	0xe,		/* 14 */

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

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

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

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

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

+/* 1598 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1600 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 1602 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

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

+/* 1606 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

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

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

+/* 1612 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 1614 */	0x33,		/* FC_AUTO_HANDLE */

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

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

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

+/* 1622 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

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

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

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

+			0x8,		/* 8 */

+/* 1630 */	0x14,		/* 20 */

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

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

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

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

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

+/* 1640 */	0x8,		/* 8 */

+			0x80,		/* 128 */

+/* 1642 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1644 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1646 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1648 */	0x87,		/* 135 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

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

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

+/* 1654 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

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

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

+/* 1660 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

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

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

+/* 1666 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

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

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

+/* 1672 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

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

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

+/* 1678 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

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

+/* 1682 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1684 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter callback */

+

+/* 1686 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1688 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1690 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1692 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1694 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 1696 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 1698 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1700 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1704 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1706 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1710 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1712 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1714 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1716 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1718 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1720 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1722 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1724 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1726 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 1728 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1730 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1732 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1734 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1736 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1738 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1740 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1742 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1746 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1748 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1750 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1752 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1754 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1756 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1760 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1762 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1764 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1766 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 1768 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1770 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter app_id */

+

+/* 1772 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1774 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1776 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1778 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1780 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1782 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1784 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1786 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1788 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1790 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1792 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1794 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1796 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1798 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1800 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1802 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1804 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1808 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1810 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1812 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1814 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1816 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1818 */	0x12,		/* 18 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1822 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1826 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1828 */	0x6,		/* 6 */

+			0x80,		/* 128 */

+/* 1830 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1832 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1834 */	0x85,		/* 133 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

+/* 1836 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1838 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1840 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1842 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1844 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1846 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1848 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1850 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1852 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1854 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1856 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1858 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1860 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1862 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1864 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1866 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1868 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1870 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1872 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1874 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1878 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1880 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1882 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1884 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1886 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1888 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1890 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1894 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1896 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1898 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1900 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1902 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1904 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1906 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1908 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1910 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1912 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1914 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1916 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1920 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1922 */	NdrFcShort( 0x60 ),	/* ARM64 Stack size/offset = 96 */

+/* 1924 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1926 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1928 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1930 */	0x16,		/* 22 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1932 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1934 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1936 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1938 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1940 */	0xb,		/* 11 */

+			0x80,		/* 128 */

+/* 1942 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1944 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1946 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1948 */	0x87,		/* 135 */

+			0xf8,		/* 248 */

+/* 1950 */	0xf8,		/* 248 */

+			0xf8,		/* 248 */

+

+	/* Parameter app_id */

+

+/* 1952 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1954 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1956 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1958 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1960 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1962 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1964 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1966 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1968 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1970 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1972 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1974 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1976 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1978 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1980 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1982 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1984 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1986 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter client_install_data */

+

+/* 1988 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1990 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1992 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1994 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1996 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 1998 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 2000 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2002 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

+/* 2004 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 2006 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 2008 */	NdrFcShort( 0x50 ),	/* ARM64 Stack size/offset = 80 */

+/* 2010 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 2012 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2014 */	NdrFcShort( 0x58 ),	/* ARM64 Stack size/offset = 88 */

+/* 2016 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 2018 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2020 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2024 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2026 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 2028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2030 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2032 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 2034 */	0x12,		/* 18 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2036 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2038 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2040 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2042 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 2044 */	0x7,		/* 7 */

+			0x80,		/* 128 */

+/* 2046 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 2048 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 2050 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+

+	/* Parameter app_id */

+

+/* 2052 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2054 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2056 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter installer_path */

+

+/* 2058 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2060 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2062 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_args */

+

+/* 2064 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2066 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2068 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data */

+

+/* 2070 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2072 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2074 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_settings */

+

+/* 2076 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2078 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2080 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter observer */

+

+/* 2082 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 2084 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2086 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 2088 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2090 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2092 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 2094 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2096 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2100 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2102 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2104 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2106 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2108 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2110 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2112 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2114 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2116 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2118 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2120 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2122 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 2124 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 2126 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2128 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */

+

+	/* Return value */

+

+/* 2130 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2132 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2134 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_idl_system_MIDL_TYPE_FORMAT_STRING updater_idl_system__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/*  4 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/*  6 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  8 */	NdrFcShort( 0x1c ),	/* Offset= 28 (36) */

+/* 10 */	

+			0x13, 0x0,	/* FC_OP */

+/* 12 */	NdrFcShort( 0xe ),	/* Offset= 14 (26) */

+/* 14 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 16 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 18 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 20 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 22 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 24 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 26 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 28 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 30 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (14) */

+/* 32 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 34 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 36 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 42 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0xffde ),	/* Offset= -34 (10) */

+/* 46 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 48 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x46acf70b ),	/* 1185740555 */

+/* 56 */	NdrFcShort( 0xac13 ),	/* -21485 */

+/* 58 */	NdrFcShort( 0x406d ),	/* 16493 */

+/* 60 */	0xb5,		/* 181 */

+			0x3b,		/* 59 */

+/* 62 */	0xb2,		/* 178 */

+			0xc4,		/* 196 */

+/* 64 */	0xbf,		/* 191 */

+			0x9,		/* 9 */

+/* 66 */	0x1f,		/* 31 */

+			0xf6,		/* 246 */

+/* 68 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 70 */	NdrFcLong( 0x2fcd14af ),	/* 801969327 */

+/* 74 */	NdrFcShort( 0xb645 ),	/* -18875 */

+/* 76 */	NdrFcShort( 0x4351 ),	/* 17233 */

+/* 78 */	0x83,		/* 131 */

+			0x59,		/* 89 */

+/* 80 */	0xe8,		/* 232 */

+			0xa,		/* 10 */

+/* 82 */	0xe,		/* 14 */

+			0x20,		/* 32 */

+/* 84 */	0x2a,		/* 42 */

+			0xb,		/* 11 */

+/* 86 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 88 */	NdrFcLong( 0xea6fdc05 ),	/* -361767931 */

+/* 92 */	NdrFcShort( 0xcdc5 ),	/* -12859 */

+/* 94 */	NdrFcShort( 0x4ea4 ),	/* 20132 */

+/* 96 */	0xab,		/* 171 */

+			0x41,		/* 65 */

+/* 98 */	0xcc,		/* 204 */

+			0xbd,		/* 189 */

+/* 100 */	0x10,		/* 16 */

+			0x40,		/* 64 */

+/* 102 */	0xa2,		/* 162 */

+			0xb5,		/* 181 */

+/* 104 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 106 */	NdrFcLong( 0xe2bd9a6b ),	/* -490890645 */

+/* 110 */	NdrFcShort( 0xa19 ),	/* 2585 */

+/* 112 */	NdrFcShort( 0x4c89 ),	/* 19593 */

+/* 114 */	0xae,		/* 174 */

+			0x8b,		/* 139 */

+/* 116 */	0xb7,		/* 183 */

+			0xe9,		/* 233 */

+/* 118 */	0xe5,		/* 229 */

+			0x1d,		/* 29 */

+/* 120 */	0x9a,		/* 154 */

+			0x7,		/* 7 */

+/* 122 */	

+			0x11, 0x0,	/* FC_RP */

+/* 124 */	NdrFcShort( 0x3b8 ),	/* Offset= 952 (1076) */

+/* 126 */	

+			0x12, 0x0,	/* FC_UP */

+/* 128 */	NdrFcShort( 0x3a0 ),	/* Offset= 928 (1056) */

+/* 130 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 132 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 134 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 136 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 138 */	NdrFcShort( 0x2 ),	/* Offset= 2 (140) */

+/* 140 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 142 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 144 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 148 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 150 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 154 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 156 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 160 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 162 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 166 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 168 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 172 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 174 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 178 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 180 */	NdrFcLong( 0xb ),	/* 11 */

+/* 184 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 186 */	NdrFcLong( 0xa ),	/* 10 */

+/* 190 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 192 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 196 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (428) */

+/* 198 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 202 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 204 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 208 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (434) */

+/* 210 */	NdrFcLong( 0xd ),	/* 13 */

+/* 214 */	NdrFcShort( 0xe0 ),	/* Offset= 224 (438) */

+/* 216 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 220 */	NdrFcShort( 0xec ),	/* Offset= 236 (456) */

+/* 222 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 226 */	NdrFcShort( 0xf8 ),	/* Offset= 248 (474) */

+/* 228 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 232 */	NdrFcShort( 0x2ee ),	/* Offset= 750 (982) */

+/* 234 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 238 */	NdrFcShort( 0x2e8 ),	/* Offset= 744 (982) */

+/* 240 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 244 */	NdrFcShort( 0x2e6 ),	/* Offset= 742 (986) */

+/* 246 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 250 */	NdrFcShort( 0x2e4 ),	/* Offset= 740 (990) */

+/* 252 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 256 */	NdrFcShort( 0x2e2 ),	/* Offset= 738 (994) */

+/* 258 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 262 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (998) */

+/* 264 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 268 */	NdrFcShort( 0x2de ),	/* Offset= 734 (1002) */

+/* 270 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 274 */	NdrFcShort( 0x2dc ),	/* Offset= 732 (1006) */

+/* 276 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 280 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (990) */

+/* 282 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 286 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (994) */

+/* 288 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 292 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (1010) */

+/* 294 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 298 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (1006) */

+/* 300 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 304 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (1014) */

+/* 306 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 310 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (1018) */

+/* 312 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 316 */	NdrFcShort( 0x2c2 ),	/* Offset= 706 (1022) */

+/* 318 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 322 */	NdrFcShort( 0x2c0 ),	/* Offset= 704 (1026) */

+/* 324 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 328 */	NdrFcShort( 0x2be ),	/* Offset= 702 (1030) */

+/* 330 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 334 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 336 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 340 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 342 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 346 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 348 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 352 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 354 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 358 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 360 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 364 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 366 */	NdrFcLong( 0xe ),	/* 14 */

+/* 370 */	NdrFcShort( 0x29c ),	/* Offset= 668 (1038) */

+/* 372 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 376 */	NdrFcShort( 0x2a0 ),	/* Offset= 672 (1048) */

+/* 378 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 382 */	NdrFcShort( 0x29e ),	/* Offset= 670 (1052) */

+/* 384 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 388 */	NdrFcShort( 0x25a ),	/* Offset= 602 (990) */

+/* 390 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 394 */	NdrFcShort( 0x258 ),	/* Offset= 600 (994) */

+/* 396 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 400 */	NdrFcShort( 0x256 ),	/* Offset= 598 (998) */

+/* 402 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 406 */	NdrFcShort( 0x24c ),	/* Offset= 588 (994) */

+/* 408 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 412 */	NdrFcShort( 0x246 ),	/* Offset= 582 (994) */

+/* 414 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 418 */	NdrFcShort( 0x0 ),	/* Offset= 0 (418) */

+/* 420 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 424 */	NdrFcShort( 0x0 ),	/* Offset= 0 (424) */

+/* 426 */	NdrFcShort( 0xffff ),	/* Offset= -1 (425) */

+/* 428 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 430 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 432 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 434 */	

+			0x12, 0x0,	/* FC_UP */

+/* 436 */	NdrFcShort( 0xfe66 ),	/* Offset= -410 (26) */

+/* 438 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 440 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 448 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 450 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 452 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 454 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 456 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 458 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 462 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 466 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 468 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 470 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 472 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 474 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 476 */	NdrFcShort( 0x2 ),	/* Offset= 2 (478) */

+/* 478 */	

+			0x12, 0x0,	/* FC_UP */

+/* 480 */	NdrFcShort( 0x1e4 ),	/* Offset= 484 (964) */

+/* 482 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x89,		/* 137 */

+/* 484 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 486 */	NdrFcShort( 0xa ),	/* 10 */

+/* 488 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 492 */	NdrFcShort( 0x50 ),	/* Offset= 80 (572) */

+/* 494 */	NdrFcLong( 0xd ),	/* 13 */

+/* 498 */	NdrFcShort( 0x70 ),	/* Offset= 112 (610) */

+/* 500 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 504 */	NdrFcShort( 0x90 ),	/* Offset= 144 (648) */

+/* 506 */	NdrFcLong( 0xc ),	/* 12 */

+/* 510 */	NdrFcShort( 0xb0 ),	/* Offset= 176 (686) */

+/* 512 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 516 */	NdrFcShort( 0x102 ),	/* Offset= 258 (774) */

+/* 518 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 522 */	NdrFcShort( 0x11e ),	/* Offset= 286 (808) */

+/* 524 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 528 */	NdrFcShort( 0x138 ),	/* Offset= 312 (840) */

+/* 530 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 534 */	NdrFcShort( 0x14e ),	/* Offset= 334 (868) */

+/* 536 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 540 */	NdrFcShort( 0x164 ),	/* Offset= 356 (896) */

+/* 542 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 546 */	NdrFcShort( 0x17a ),	/* Offset= 378 (924) */

+/* 548 */	NdrFcShort( 0xffff ),	/* Offset= -1 (547) */

+/* 550 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 554 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 556 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 558 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 560 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 564 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 566 */	

+			0x12, 0x0,	/* FC_UP */

+/* 568 */	NdrFcShort( 0xfde2 ),	/* Offset= -542 (26) */

+/* 570 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 572 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 574 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 576 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 578 */	NdrFcShort( 0x6 ),	/* Offset= 6 (584) */

+/* 580 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 582 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 584 */	

+			0x11, 0x0,	/* FC_RP */

+/* 586 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (550) */

+/* 588 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 592 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 596 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 598 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 602 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 604 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 606 */	NdrFcShort( 0xff58 ),	/* Offset= -168 (438) */

+/* 608 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 610 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 612 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 616 */	NdrFcShort( 0x6 ),	/* Offset= 6 (622) */

+/* 618 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 620 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 622 */	

+			0x11, 0x0,	/* FC_RP */

+/* 624 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (588) */

+/* 626 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 630 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 634 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 636 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 640 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 642 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 644 */	NdrFcShort( 0xff44 ),	/* Offset= -188 (456) */

+/* 646 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 648 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 650 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 652 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 654 */	NdrFcShort( 0x6 ),	/* Offset= 6 (660) */

+/* 656 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 658 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 660 */	

+			0x11, 0x0,	/* FC_RP */

+/* 662 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (626) */

+/* 664 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 666 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 668 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 672 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 674 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 678 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 680 */	

+			0x12, 0x0,	/* FC_UP */

+/* 682 */	NdrFcShort( 0x176 ),	/* Offset= 374 (1056) */

+/* 684 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 686 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 688 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 690 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 692 */	NdrFcShort( 0x6 ),	/* Offset= 6 (698) */

+/* 694 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 696 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 698 */	

+			0x11, 0x0,	/* FC_RP */

+/* 700 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (664) */

+/* 702 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 704 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 714 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 716 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 718 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 720 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 722 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 724 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 726 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 728 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 730 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 732 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 734 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 736 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 738 */	NdrFcShort( 0xa ),	/* Offset= 10 (748) */

+/* 740 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 742 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 744 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (702) */

+/* 746 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 748 */	

+			0x12, 0x0,	/* FC_UP */

+/* 750 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (720) */

+/* 752 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 756 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 762 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 766 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 768 */	

+			0x12, 0x0,	/* FC_UP */

+/* 770 */	NdrFcShort( 0xffda ),	/* Offset= -38 (732) */

+/* 772 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 774 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 776 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 778 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 780 */	NdrFcShort( 0x6 ),	/* Offset= 6 (786) */

+/* 782 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 784 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 786 */	

+			0x11, 0x0,	/* FC_RP */

+/* 788 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (752) */

+/* 790 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 792 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 794 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 796 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 798 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 800 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 802 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 804 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (790) */

+			0x5b,		/* FC_END */

+/* 808 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 810 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 812 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 814 */	NdrFcShort( 0xa ),	/* Offset= 10 (824) */

+/* 816 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 818 */	0x36,		/* FC_POINTER */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 820 */	0x0,		/* 0 */

+			NdrFcShort( 0xffe7 ),	/* Offset= -25 (796) */

+			0x5b,		/* FC_END */

+/* 824 */	

+			0x11, 0x0,	/* FC_RP */

+/* 826 */	NdrFcShort( 0xff12 ),	/* Offset= -238 (588) */

+/* 828 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 830 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 832 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 836 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 838 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 840 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 842 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 844 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 846 */	NdrFcShort( 0x6 ),	/* Offset= 6 (852) */

+/* 848 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 850 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 852 */	

+			0x12, 0x0,	/* FC_UP */

+/* 854 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (828) */

+/* 856 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 858 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 860 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 864 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 866 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 868 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 870 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 872 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 874 */	NdrFcShort( 0x6 ),	/* Offset= 6 (880) */

+/* 876 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 878 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 880 */	

+			0x12, 0x0,	/* FC_UP */

+/* 882 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (856) */

+/* 884 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 886 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 888 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 890 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 892 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 894 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 896 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 898 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 902 */	NdrFcShort( 0x6 ),	/* Offset= 6 (908) */

+/* 904 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 906 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 908 */	

+			0x12, 0x0,	/* FC_UP */

+/* 910 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (884) */

+/* 912 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 914 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 916 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 918 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 920 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 922 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 924 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 926 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 930 */	NdrFcShort( 0x6 ),	/* Offset= 6 (936) */

+/* 932 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 934 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 936 */	

+			0x12, 0x0,	/* FC_UP */

+/* 938 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (912) */

+/* 940 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 942 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 944 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 946 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 948 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 950 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 952 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 954 */	NdrFcShort( 0xffc8 ),	/* -56 */

+/* 956 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 958 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 960 */	NdrFcShort( 0xffec ),	/* Offset= -20 (940) */

+/* 962 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 964 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 966 */	NdrFcShort( 0x38 ),	/* 56 */

+/* 968 */	NdrFcShort( 0xffec ),	/* Offset= -20 (948) */

+/* 970 */	NdrFcShort( 0x0 ),	/* Offset= 0 (970) */

+/* 972 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 974 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 976 */	0x40,		/* FC_STRUCTPAD4 */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 978 */	0x0,		/* 0 */

+			NdrFcShort( 0xfe0f ),	/* Offset= -497 (482) */

+			0x5b,		/* FC_END */

+/* 982 */	

+			0x12, 0x0,	/* FC_UP */

+/* 984 */	NdrFcShort( 0xff04 ),	/* Offset= -252 (732) */

+/* 986 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 988 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 990 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 992 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 994 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 996 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 998 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1000 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1004 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 1006 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1008 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1010 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1012 */	NdrFcShort( 0xfdb8 ),	/* Offset= -584 (428) */

+/* 1014 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1016 */	NdrFcShort( 0xfdba ),	/* Offset= -582 (434) */

+/* 1018 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1020 */	NdrFcShort( 0xfdba ),	/* Offset= -582 (438) */

+/* 1022 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1024 */	NdrFcShort( 0xfdc8 ),	/* Offset= -568 (456) */

+/* 1026 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1028 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (474) */

+/* 1030 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1032 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1034) */

+/* 1034 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1036 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1056) */

+/* 1038 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 1040 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1042 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 1044 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 1046 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 1048 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1050 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1038) */

+/* 1052 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1054 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1056 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1058 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1060 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1062 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1062) */

+/* 1064 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1066 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1068 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1070 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1072 */	NdrFcShort( 0xfc52 ),	/* Offset= -942 (130) */

+/* 1074 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1076 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1078 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1080 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1082 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1084 */	NdrFcShort( 0xfc42 ),	/* Offset= -958 (126) */

+/* 1086 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1088 */	NdrFcLong( 0x8bab6f84 ),	/* -1951699068 */

+/* 1092 */	NdrFcShort( 0xad67 ),	/* -21145 */

+/* 1094 */	NdrFcShort( 0x4819 ),	/* 18457 */

+/* 1096 */	0xb8,		/* 184 */

+			0x46,		/* 70 */

+/* 1098 */	0xcc,		/* 204 */

+			0x89,		/* 137 */

+/* 1100 */	0x8,		/* 8 */

+			0x80,		/* 128 */

+/* 1102 */	0xfd,		/* 253 */

+			0x3b,		/* 59 */

+/* 1104 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1106 */	

+			0x25,		/* FC_C_WSTRING */

+			0x5c,		/* FC_PAD */

+/* 1108 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1110 */	NdrFcLong( 0x7b416cfd ),	/* 2067885309 */

+/* 1114 */	NdrFcShort( 0x4216 ),	/* 16918 */

+/* 1116 */	NdrFcShort( 0x4fd6 ),	/* 20438 */

+/* 1118 */	0xbd,		/* 189 */

+			0x83,		/* 131 */

+/* 1120 */	0x7c,		/* 124 */

+			0x58,		/* 88 */

+/* 1122 */	0x60,		/* 96 */

+			0x54,		/* 84 */

+/* 1124 */	0x67,		/* 103 */

+			0x6e,		/* 110 */

+/* 1126 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1128 */	NdrFcLong( 0xefe903c0 ),	/* -269941824 */

+/* 1132 */	NdrFcShort( 0xe820 ),	/* -6112 */

+/* 1134 */	NdrFcShort( 0x4136 ),	/* 16694 */

+/* 1136 */	0x9f,		/* 159 */

+			0xae,		/* 174 */

+/* 1138 */	0xfd,		/* 253 */

+			0xcd,		/* 205 */

+/* 1140 */	0x7f,		/* 127 */

+			0x25,		/* 37 */

+/* 1142 */	0x63,		/* 99 */

+			0x2,		/* 2 */

+/* 1144 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1146 */	NdrFcLong( 0xf0d6763a ),	/* -254380486 */

+/* 1150 */	NdrFcShort( 0x182 ),	/* 386 */

+/* 1152 */	NdrFcShort( 0x4136 ),	/* 16694 */

+/* 1154 */	0xb1,		/* 177 */

+			0xfa,		/* 250 */

+/* 1156 */	0x50,		/* 80 */

+			0x8e,		/* 142 */

+/* 1158 */	0x33,		/* 51 */

+			0x4c,		/* 76 */

+/* 1160 */	0xff,		/* 255 */

+			0xc1,		/* 193 */

+/* 1162 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1164 */	NdrFcLong( 0x57b500a ),	/* 91967498 */

+/* 1168 */	NdrFcShort( 0x4ba2 ),	/* 19362 */

+/* 1170 */	NdrFcShort( 0x496a ),	/* 18794 */

+/* 1172 */	0xb1,		/* 177 */

+			0xcd,		/* 205 */

+/* 1174 */	0xc5,		/* 197 */

+			0xde,		/* 222 */

+/* 1176 */	0xd3,		/* 211 */

+			0xcc,		/* 204 */

+/* 1178 */	0xc6,		/* 198 */

+			0x1b,		/* 27 */

+/* 1180 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1182 */	NdrFcLong( 0x2cb8867e ),	/* 750290558 */

+/* 1186 */	NdrFcShort( 0x495e ),	/* 18782 */

+/* 1188 */	NdrFcShort( 0x459f ),	/* 17823 */

+/* 1190 */	0xb1,		/* 177 */

+			0xb6,		/* 182 */

+/* 1192 */	0x2d,		/* 45 */

+			0xd7,		/* 215 */

+/* 1194 */	0xff,		/* 255 */

+			0xdb,		/* 219 */

+/* 1196 */	0xd4,		/* 212 */

+			0x62,		/* 98 */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdateState, ver. 0.0,

+   GUID={0x46ACF70B,0xAC13,0x406D,{0xB5,0x3B,0xB2,0xC4,0xBF,0x09,0x1F,0xF6}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateState_FormatStringOffsetTable[] =

+    {

+    0,

+    42,

+    84,

+    126,

+    168,

+    210,

+    252,

+    294,

+    336,

+    378,

+    420

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateProxyVtbl = 

+{

+    &IUpdateState_ProxyInfo,

+    &IID_IUpdateState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateStubVtbl =

+{

+    &IID_IUpdateState,

+    &IUpdateState_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdateStateSystem, ver. 0.0,

+   GUID={0xEA6FDC05,0xCDC5,0x4EA4,{0xAB,0x41,0xCC,0xBD,0x10,0x40,0xA2,0xB5}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateStateSystem_FormatStringOffsetTable[] =

+    {

+    0,

+    42,

+    84,

+    126,

+    168,

+    210,

+    252,

+    294,

+    336,

+    378,

+    420

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateStateSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateStateSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateSystemProxyVtbl = 

+{

+    &IUpdateStateSystem_ProxyInfo,

+    &IID_IUpdateStateSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateSystemStubVtbl =

+{

+    &IID_IUpdateStateSystem,

+    &IUpdateStateSystem_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatus, ver. 0.0,

+   GUID={0x2FCD14AF,0xB645,0x4351,{0x83,0x59,0xE8,0x0A,0x0E,0x20,0x2A,0x0B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatus_FormatStringOffsetTable[] =

+    {

+    0,

+    42

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusProxyVtbl = 

+{

+    &ICompleteStatus_ProxyInfo,

+    &IID_ICompleteStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusStubVtbl =

+{

+    &IID_ICompleteStatus,

+    &ICompleteStatus_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatusSystem, ver. 0.0,

+   GUID={0xE2BD9A6B,0x0A19,0x4C89,{0xAE,0x8B,0xB7,0xE9,0xE5,0x1D,0x9A,0x07}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatusSystem_FormatStringOffsetTable[] =

+    {

+    0,

+    42

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatusSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatusSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusSystemProxyVtbl = 

+{

+    &ICompleteStatusSystem_ProxyInfo,

+    &IID_ICompleteStatusSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusSystem::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusSystem::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusSystemStubVtbl =

+{

+    &IID_ICompleteStatusSystem,

+    &ICompleteStatusSystem_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserver, ver. 0.0,

+   GUID={0x7B416CFD,0x4216,0x4FD6,{0xBD,0x83,0x7C,0x58,0x60,0x54,0x67,0x6E}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserver_FormatStringOffsetTable[] =

+    {

+    462,

+    504

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverProxyVtbl = 

+{

+    &IUpdaterObserver_ProxyInfo,

+    &IID_IUpdaterObserver,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverStubVtbl =

+{

+    &IID_IUpdaterObserver,

+    &IUpdaterObserver_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserverSystem, ver. 0.0,

+   GUID={0x057B500A,0x4BA2,0x496A,{0xB1,0xCD,0xC5,0xDE,0xD3,0xCC,0xC6,0x1B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserverSystem_FormatStringOffsetTable[] =

+    {

+    546,

+    588

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserverSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverSystemProxyVtbl = 

+{

+    &IUpdaterObserverSystem_ProxyInfo,

+    &IID_IUpdaterObserverSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverSystem::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverSystem::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverSystemStubVtbl =

+{

+    &IID_IUpdaterObserverSystem,

+    &IUpdaterObserverSystem_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallback, ver. 0.0,

+   GUID={0x8BAB6F84,0xAD67,0x4819,{0xB8,0x46,0xCC,0x89,0x08,0x80,0xFD,0x3B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallback_FormatStringOffsetTable[] =

+    {

+    630

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackProxyVtbl = 

+{

+    &IUpdaterCallback_ProxyInfo,

+    &IID_IUpdaterCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackStubVtbl =

+{

+    &IID_IUpdaterCallback,

+    &IUpdaterCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallbackSystem, ver. 0.0,

+   GUID={0xF0D6763A,0x0182,0x4136,{0xB1,0xFA,0x50,0x8E,0x33,0x4C,0xFF,0xC1}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallbackSystem_FormatStringOffsetTable[] =

+    {

+    630

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallbackSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackSystemProxyVtbl = 

+{

+    &IUpdaterCallbackSystem_ProxyInfo,

+    &IID_IUpdaterCallbackSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallbackSystem::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackSystemStubVtbl =

+{

+    &IID_IUpdaterCallbackSystem,

+    &IUpdaterCallbackSystem_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterAppState, ver. 0.0,

+   GUID={0xA22AFC54,0x2DEF,0x4578,{0x91,0x87,0xDB,0x3B,0x24,0x38,0x10,0x90}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    672,

+    714,

+    756,

+    798,

+    840,

+    378

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateProxyVtbl = 

+{

+    &IUpdaterAppState_ProxyInfo,

+    &IID_IUpdaterAppState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateStubVtbl =

+{

+    &IID_IUpdaterAppState,

+    &IUpdaterAppState_ServerInfo,

+    13,

+    &IUpdaterAppState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStateSystem, ver. 0.0,

+   GUID={0x92631531,0x8044,0x46F4,{0xB6,0x45,0xCD,0xFB,0xCC,0xC7,0xFA,0x3B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStateSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    672,

+    714,

+    756,

+    798,

+    840,

+    378

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStateSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateSystemProxyVtbl = 

+{

+    &IUpdaterAppStateSystem_ProxyInfo,

+    &IID_IUpdaterAppStateSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppStateSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateSystemStubVtbl =

+{

+    &IID_IUpdaterAppStateSystem,

+    &IUpdaterAppStateSystem_ServerInfo,

+    13,

+    &IUpdaterAppStateSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallback, ver. 0.0,

+   GUID={0xEFE903C0,0xE820,0x4136,{0x9F,0xAE,0xFD,0xCD,0x7F,0x25,0x63,0x02}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallback_FormatStringOffsetTable[] =

+    {

+    882

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackProxyVtbl = 

+{

+    &IUpdaterAppStatesCallback_ProxyInfo,

+    &IID_IUpdaterAppStatesCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallback,

+    &IUpdaterAppStatesCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallbackSystem, ver. 0.0,

+   GUID={0x2CB8867E,0x495E,0x459F,{0xB1,0xB6,0x2D,0xD7,0xFF,0xDB,0xD4,0x62}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallbackSystem_FormatStringOffsetTable[] =

+    {

+    882

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallbackSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackSystemProxyVtbl = 

+{

+    &IUpdaterAppStatesCallbackSystem_ProxyInfo,

+    &IID_IUpdaterAppStatesCallbackSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallbackSystem::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackSystemStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallbackSystem,

+    &IUpdaterAppStatesCallbackSystem_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdater, ver. 0.0,

+   GUID={0x63B8FFB1,0x5314,0x48C9,{0x9C,0x57,0x93,0xEC,0x8B,0xC6,0x18,0x4B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdater_FormatStringOffsetTable[] =

+    {

+    924,

+    966,

+    1008,

+    1092,

+    1134,

+    1196,

+    1266,

+    1308,

+    1412,

+    1454,

+    1530

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdater_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterProxyVtbl = 

+{

+    &IUpdater_ProxyInfo,

+    &IID_IUpdater,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterStubVtbl =

+{

+    &IID_IUpdater,

+    &IUpdater_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterSystem, ver. 0.0,

+   GUID={0xFCE335F3,0xA55C,0x496E,{0x81,0x4F,0x85,0x97,0x1C,0x9F,0xA6,0xF1}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterSystem_FormatStringOffsetTable[] =

+    {

+    924,

+    1572,

+    1614,

+    1698,

+    1740,

+    1802,

+    1872,

+    1914,

+    1412,

+    2018,

+    2094

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterSystemProxyVtbl = 

+{

+    &IUpdaterSystem_ProxyInfo,

+    &IID_IUpdaterSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterSystemStubVtbl =

+{

+    &IID_IUpdaterSystem,

+    &IUpdaterSystem_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_idl_system__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_idl_system_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdateStateSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdateStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_idl_system_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdateStateSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdateStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_idl_system_InterfaceNamesList[] = 

+{

+    "IUpdateStateSystem",

+    "IUpdaterObserverSystem",

+    "IUpdateState",

+    "IUpdaterAppStateSystem",

+    "IUpdaterCallbackSystem",

+    "IUpdaterAppState",

+    "ICompleteStatusSystem",

+    "IUpdaterAppStatesCallbackSystem",

+    "IUpdaterCallback",

+    "ICompleteStatus",

+    "IUpdater",

+    "IUpdaterAppStatesCallback",

+    "IUpdaterSystem",

+    "IUpdaterObserver",

+    0

+};

+

+const IID *  const _updater_idl_system_BaseIIDList[] = 

+{

+    0,

+    0,

+    0,

+    &IID_IDispatch,

+    0,

+    &IID_IDispatch,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0

+};

+

+

+#define _updater_idl_system_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_idl_system, pIID, n)

+

+int __stdcall _updater_idl_system_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_idl_system, 14, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_system, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_system, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_system, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_idl_system, 14, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_idl_system_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_idl_system_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_idl_system_StubVtblList,

+    (const PCInterfaceName * ) & _updater_idl_system_InterfaceNamesList,

+    (const IID ** ) & _updater_idl_system_BaseIIDList,

+    & _updater_idl_system_IID_Lookup, 

+    14,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_ARM64) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user.dlldata.c
new file mode 100644
index 0000000..bc466fc
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_idl_user )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_idl_user ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user.h
new file mode 100644
index 0000000..eb9bd64
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user.h
@@ -0,0 +1,2284 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_idl_user_h__

+#define __updater_idl_user_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdateState_FWD_DEFINED__

+#define __IUpdateState_FWD_DEFINED__

+typedef interface IUpdateState IUpdateState;

+

+#endif 	/* __IUpdateState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateUser_FWD_DEFINED__

+#define __IUpdateStateUser_FWD_DEFINED__

+typedef interface IUpdateStateUser IUpdateStateUser;

+

+#endif 	/* __IUpdateStateUser_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_FWD_DEFINED__

+#define __ICompleteStatus_FWD_DEFINED__

+typedef interface ICompleteStatus ICompleteStatus;

+

+#endif 	/* __ICompleteStatus_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusUser_FWD_DEFINED__

+#define __ICompleteStatusUser_FWD_DEFINED__

+typedef interface ICompleteStatusUser ICompleteStatusUser;

+

+#endif 	/* __ICompleteStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_FWD_DEFINED__

+#define __IUpdaterObserver_FWD_DEFINED__

+typedef interface IUpdaterObserver IUpdaterObserver;

+

+#endif 	/* __IUpdaterObserver_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverUser_FWD_DEFINED__

+#define __IUpdaterObserverUser_FWD_DEFINED__

+typedef interface IUpdaterObserverUser IUpdaterObserverUser;

+

+#endif 	/* __IUpdaterObserverUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_FWD_DEFINED__

+#define __IUpdaterCallback_FWD_DEFINED__

+typedef interface IUpdaterCallback IUpdaterCallback;

+

+#endif 	/* __IUpdaterCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackUser_FWD_DEFINED__

+#define __IUpdaterCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterCallbackUser IUpdaterCallbackUser;

+

+#endif 	/* __IUpdaterCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateUser_FWD_DEFINED__

+#define __IUpdaterAppStateUser_FWD_DEFINED__

+typedef interface IUpdaterAppStateUser IUpdaterAppStateUser;

+

+#endif 	/* __IUpdaterAppStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_FWD_DEFINED__

+#define __IUpdaterAppStatesCallback_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallback IUpdaterAppStatesCallback;

+

+#endif 	/* __IUpdaterAppStatesCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackUser IUpdaterAppStatesCallbackUser;

+

+#endif 	/* __IUpdaterAppStatesCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdater_FWD_DEFINED__

+#define __IUpdater_FWD_DEFINED__

+typedef interface IUpdater IUpdater;

+

+#endif 	/* __IUpdater_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterUser_FWD_DEFINED__

+#define __IUpdaterUser_FWD_DEFINED__

+typedef interface IUpdaterUser IUpdaterUser;

+

+#endif 	/* __IUpdaterUser_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterUserClass_FWD_DEFINED__

+#define __UpdaterUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterUserClass UpdaterUserClass;

+#else

+typedef struct UpdaterUserClass UpdaterUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterSystemClass_FWD_DEFINED__

+#define __UpdaterSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterSystemClass UpdaterSystemClass;

+#else

+typedef struct UpdaterSystemClass UpdaterSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateUser_FWD_DEFINED__

+#define __IUpdateStateUser_FWD_DEFINED__

+typedef interface IUpdateStateUser IUpdateStateUser;

+

+#endif 	/* __IUpdateStateUser_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusUser_FWD_DEFINED__

+#define __ICompleteStatusUser_FWD_DEFINED__

+typedef interface ICompleteStatusUser ICompleteStatusUser;

+

+#endif 	/* __ICompleteStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverUser_FWD_DEFINED__

+#define __IUpdaterObserverUser_FWD_DEFINED__

+typedef interface IUpdaterObserverUser IUpdaterObserverUser;

+

+#endif 	/* __IUpdaterObserverUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackUser_FWD_DEFINED__

+#define __IUpdaterCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterCallbackUser IUpdaterCallbackUser;

+

+#endif 	/* __IUpdaterCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateUser_FWD_DEFINED__

+#define __IUpdaterAppStateUser_FWD_DEFINED__

+typedef interface IUpdaterAppStateUser IUpdaterAppStateUser;

+

+#endif 	/* __IUpdaterAppStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackUser IUpdaterAppStatesCallbackUser;

+

+#endif 	/* __IUpdaterAppStatesCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterUser_FWD_DEFINED__

+#define __IUpdaterUser_FWD_DEFINED__

+typedef interface IUpdaterUser IUpdaterUser;

+

+#endif 	/* __IUpdaterUser_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdateState_INTERFACE_DEFINED__

+#define __IUpdateState_INTERFACE_DEFINED__

+

+/* interface IUpdateState */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("46ACF70B-AC13-406D-B53B-B2C4BF091FF6")

+    IUpdateState : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010);

+        

+        END_INTERFACE

+    } IUpdateStateVtbl;

+

+    interface IUpdateState

+    {

+        CONST_VTBL struct IUpdateStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateState_get_state(This,__MIDL__IUpdateState0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateState0000) ) 

+

+#define IUpdateState_get_appId(This,__MIDL__IUpdateState0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateState0001) ) 

+

+#define IUpdateState_get_nextVersion(This,__MIDL__IUpdateState0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateState0002) ) 

+

+#define IUpdateState_get_downloadedBytes(This,__MIDL__IUpdateState0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateState0003) ) 

+

+#define IUpdateState_get_totalBytes(This,__MIDL__IUpdateState0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateState0004) ) 

+

+#define IUpdateState_get_installProgress(This,__MIDL__IUpdateState0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateState0005) ) 

+

+#define IUpdateState_get_errorCategory(This,__MIDL__IUpdateState0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateState0006) ) 

+

+#define IUpdateState_get_errorCode(This,__MIDL__IUpdateState0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateState0007) ) 

+

+#define IUpdateState_get_extraCode1(This,__MIDL__IUpdateState0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateState0008) ) 

+

+#define IUpdateState_get_installerText(This,__MIDL__IUpdateState0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateState0009) ) 

+

+#define IUpdateState_get_installerCommandLine(This,__MIDL__IUpdateState0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateState0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdateStateUser_INTERFACE_DEFINED__

+#define __IUpdateStateUser_INTERFACE_DEFINED__

+

+/* interface IUpdateStateUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateStateUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("C3485D9F-C684-4C43-B85B-E339EA395C29")

+    IUpdateStateUser : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0010);

+        

+        END_INTERFACE

+    } IUpdateStateUserVtbl;

+

+    interface IUpdateStateUser

+    {

+        CONST_VTBL struct IUpdateStateUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateStateUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateStateUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateStateUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateStateUser_get_state(This,__MIDL__IUpdateStateUser0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateStateUser0000) ) 

+

+#define IUpdateStateUser_get_appId(This,__MIDL__IUpdateStateUser0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateStateUser0001) ) 

+

+#define IUpdateStateUser_get_nextVersion(This,__MIDL__IUpdateStateUser0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateStateUser0002) ) 

+

+#define IUpdateStateUser_get_downloadedBytes(This,__MIDL__IUpdateStateUser0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateStateUser0003) ) 

+

+#define IUpdateStateUser_get_totalBytes(This,__MIDL__IUpdateStateUser0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateStateUser0004) ) 

+

+#define IUpdateStateUser_get_installProgress(This,__MIDL__IUpdateStateUser0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateStateUser0005) ) 

+

+#define IUpdateStateUser_get_errorCategory(This,__MIDL__IUpdateStateUser0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateStateUser0006) ) 

+

+#define IUpdateStateUser_get_errorCode(This,__MIDL__IUpdateStateUser0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateStateUser0007) ) 

+

+#define IUpdateStateUser_get_extraCode1(This,__MIDL__IUpdateStateUser0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateStateUser0008) ) 

+

+#define IUpdateStateUser_get_installerText(This,__MIDL__IUpdateStateUser0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateStateUser0009) ) 

+

+#define IUpdateStateUser_get_installerCommandLine(This,__MIDL__IUpdateStateUser0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateStateUser0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateStateUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_INTERFACE_DEFINED__

+#define __ICompleteStatus_INTERFACE_DEFINED__

+

+/* interface ICompleteStatus */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2FCD14AF-B645-4351-8359-E80A0E202A0B")

+    ICompleteStatus : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001);

+        

+        END_INTERFACE

+    } ICompleteStatusVtbl;

+

+    interface ICompleteStatus

+    {

+        CONST_VTBL struct ICompleteStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatus_get_statusCode(This,__MIDL__ICompleteStatus0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatus0000) ) 

+

+#define ICompleteStatus_get_statusMessage(This,__MIDL__ICompleteStatus0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatus0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatusUser_INTERFACE_DEFINED__

+#define __ICompleteStatusUser_INTERFACE_DEFINED__

+

+/* interface ICompleteStatusUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatusUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("9AD1A645-5A4B-4D36-BC21-F0059482E6EA")

+    ICompleteStatusUser : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusUser0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatusUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusUser, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatusUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusUser0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusUser, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatusUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusUser0001);

+        

+        END_INTERFACE

+    } ICompleteStatusUserVtbl;

+

+    interface ICompleteStatusUser

+    {

+        CONST_VTBL struct ICompleteStatusUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatusUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatusUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatusUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatusUser_get_statusCode(This,__MIDL__ICompleteStatusUser0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatusUser0000) ) 

+

+#define ICompleteStatusUser_get_statusMessage(This,__MIDL__ICompleteStatusUser0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatusUser0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatusUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_INTERFACE_DEFINED__

+#define __IUpdaterObserver_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserver */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserver;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7B416CFD-4216-4FD6-BD83-7C586054676E")

+    IUpdaterObserver : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateState *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatus *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserver * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserver * This,

+            /* [in] */ IUpdateState *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserver * This,

+            /* [in] */ ICompleteStatus *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverVtbl;

+

+    interface IUpdaterObserver

+    {

+        CONST_VTBL struct IUpdaterObserverVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserver_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserver_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserver_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserver_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserver_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserver_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverUser_INTERFACE_DEFINED__

+#define __IUpdaterObserverUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserverUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserverUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("B54493A0-65B7-408C-B650-06265D2182AC")

+    IUpdaterObserverUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateStateUser *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatusUser *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserverUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserverUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserverUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverUser, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserverUser * This,

+            /* [in] */ IUpdateStateUser *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverUser, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserverUser * This,

+            /* [in] */ ICompleteStatusUser *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverUserVtbl;

+

+    interface IUpdaterObserverUser

+    {

+        CONST_VTBL struct IUpdaterObserverUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserverUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserverUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserverUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserverUser_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserverUser_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserverUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_INTERFACE_DEFINED__

+#define __IUpdaterCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("8BAB6F84-AD67-4819-B846-CC890880FD3B")

+    IUpdaterCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackVtbl;

+

+    interface IUpdaterCallback

+    {

+        CONST_VTBL struct IUpdaterCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackUser_INTERFACE_DEFINED__

+#define __IUpdaterCallbackUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallbackUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallbackUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("34ADC89D-552B-4102-8AE5-D613A691335B")

+    IUpdaterCallbackUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallbackUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallbackUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallbackUser * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackUserVtbl;

+

+    interface IUpdaterCallbackUser

+    {

+        CONST_VTBL struct IUpdaterCallbackUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallbackUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallbackUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallbackUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallbackUser_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallbackUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_INTERFACE_DEFINED__

+#define __IUpdaterAppState_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A22AFC54-2DEF-4578-9187-DB3B24381090")

+    IUpdaterAppState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateVtbl;

+

+    interface IUpdaterAppState

+    {

+        CONST_VTBL struct IUpdaterAppStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppState_get_appId(This,__MIDL__IUpdaterAppState0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppState0000) ) 

+

+#define IUpdaterAppState_get_version(This,__MIDL__IUpdaterAppState0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppState0001) ) 

+

+#define IUpdaterAppState_get_ap(This,__MIDL__IUpdaterAppState0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppState0002) ) 

+

+#define IUpdaterAppState_get_brandCode(This,__MIDL__IUpdaterAppState0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppState0003) ) 

+

+#define IUpdaterAppState_get_brandPath(This,__MIDL__IUpdaterAppState0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppState0004) ) 

+

+#define IUpdaterAppState_get_ecp(This,__MIDL__IUpdaterAppState0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppState0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateUser_INTERFACE_DEFINED__

+#define __IUpdaterAppStateUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStateUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStateUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("028FEB84-44BC-4A73-A0CD-603678155CC3")

+    IUpdaterAppStateUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppStateUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppStateUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppStateUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateUserVtbl;

+

+    interface IUpdaterAppStateUser

+    {

+        CONST_VTBL struct IUpdaterAppStateUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStateUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStateUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStateUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStateUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppStateUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppStateUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppStateUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppStateUser_get_appId(This,__MIDL__IUpdaterAppStateUser0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppStateUser0000) ) 

+

+#define IUpdaterAppStateUser_get_version(This,__MIDL__IUpdaterAppStateUser0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppStateUser0001) ) 

+

+#define IUpdaterAppStateUser_get_ap(This,__MIDL__IUpdaterAppStateUser0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppStateUser0002) ) 

+

+#define IUpdaterAppStateUser_get_brandCode(This,__MIDL__IUpdaterAppStateUser0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppStateUser0003) ) 

+

+#define IUpdaterAppStateUser_get_brandPath(This,__MIDL__IUpdaterAppStateUser0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppStateUser0004) ) 

+

+#define IUpdaterAppStateUser_get_ecp(This,__MIDL__IUpdaterAppStateUser0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppStateUser0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStateUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EFE903C0-E820-4136-9FAE-FDCD7F256302")

+    IUpdaterAppStatesCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackVtbl;

+

+    interface IUpdaterAppStatesCallback

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallback_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackUser_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallbackUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallbackUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallbackUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("BCFCF95C-DE48-4F42-B0E9-D50DB407DB53")

+    IUpdaterAppStatesCallbackUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallbackUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallbackUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallbackUser * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackUserVtbl;

+

+    interface IUpdaterAppStatesCallbackUser

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallbackUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallbackUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallbackUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallbackUser_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallbackUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdater_INTERFACE_DEFINED__

+#define __IUpdater_INTERFACE_DEFINED__

+

+/* interface IUpdater */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdater;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("63B8FFB1-5314-48C9-9C57-93EC8BC6184B")

+    IUpdater : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdater * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdater * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdater, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterAppStatesCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterVtbl;

+

+    interface IUpdater

+    {

+        CONST_VTBL struct IUpdaterVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdater_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdater_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdater_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdater_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdater_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdater_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdater_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdater_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdater_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdater_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdater_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdater_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdater_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterUser_INTERFACE_DEFINED__

+#define __IUpdaterUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("02AFCB67-0899-4676-91A9-67D92B3B7918")

+    IUpdaterUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallbackUser *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdaterUser * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterAppStatesCallbackUser *callback);

+        

+        END_INTERFACE

+    } IUpdaterUserVtbl;

+

+    interface IUpdaterUser

+    {

+        CONST_VTBL struct IUpdaterUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterUser_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdaterUser_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdaterUser_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdaterUser_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdaterUser_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterUser_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterUser_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdaterUser_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdaterUser_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdaterUser_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdaterUser_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterUser_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLib_LIBRARY_DEFINED__

+#define __UpdaterLib_LIBRARY_DEFINED__

+

+/* library UpdaterLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLib;

+

+EXTERN_C const CLSID CLSID_UpdaterUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("158428a4-6014-4978-83ba-9fad0dabe791")

+UpdaterUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("415FD747-D79E-42D7-93AC-1BA6E5FD4E93")

+UpdaterSystemClass;

+#endif

+#endif /* __UpdaterLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user.tlb
new file mode 100644
index 0000000..a409b74
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user_i.c
new file mode 100644
index 0000000..30697cb
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user_i.c
@@ -0,0 +1,127 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateState,0x46ACF70B,0xAC13,0x406D,0xB5,0x3B,0xB2,0xC4,0xBF,0x09,0x1F,0xF6);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateStateUser,0xC3485D9F,0xC684,0x4C43,0xB8,0x5B,0xE3,0x39,0xEA,0x39,0x5C,0x29);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatus,0x2FCD14AF,0xB645,0x4351,0x83,0x59,0xE8,0x0A,0x0E,0x20,0x2A,0x0B);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatusUser,0x9AD1A645,0x5A4B,0x4D36,0xBC,0x21,0xF0,0x05,0x94,0x82,0xE6,0xEA);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserver,0x7B416CFD,0x4216,0x4FD6,0xBD,0x83,0x7C,0x58,0x60,0x54,0x67,0x6E);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserverUser,0xB54493A0,0x65B7,0x408C,0xB6,0x50,0x06,0x26,0x5D,0x21,0x82,0xAC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallback,0x8BAB6F84,0xAD67,0x4819,0xB8,0x46,0xCC,0x89,0x08,0x80,0xFD,0x3B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallbackUser,0x34ADC89D,0x552B,0x4102,0x8A,0xE5,0xD6,0x13,0xA6,0x91,0x33,0x5B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppState,0xA22AFC54,0x2DEF,0x4578,0x91,0x87,0xDB,0x3B,0x24,0x38,0x10,0x90);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStateUser,0x028FEB84,0x44BC,0x4A73,0xA0,0xCD,0x60,0x36,0x78,0x15,0x5C,0xC3);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallback,0xEFE903C0,0xE820,0x4136,0x9F,0xAE,0xFD,0xCD,0x7F,0x25,0x63,0x02);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallbackUser,0xBCFCF95C,0xDE48,0x4F42,0xB0,0xE9,0xD5,0x0D,0xB4,0x07,0xDB,0x53);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdater,0x63B8FFB1,0x5314,0x48C9,0x9C,0x57,0x93,0xEC,0x8B,0xC6,0x18,0x4B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterUser,0x02AFCB67,0x0899,0x4676,0x91,0xA9,0x67,0xD9,0x2B,0x3B,0x79,0x18);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLib,0x69464FF0,0xD9EC,0x4037,0xA3,0x5F,0x8A,0xE4,0x35,0x81,0x06,0xCC);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterUserClass,0x158428a4,0x6014,0x4978,0x83,0xba,0x9f,0xad,0x0d,0xab,0xe7,0x91);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterSystemClass,0x415FD747,0xD79E,0x42D7,0x93,0xAC,0x1B,0xA6,0xE5,0xFD,0x4E,0x93);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user_p.c
new file mode 100644
index 0000000..583539a
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_idl_user_p.c
@@ -0,0 +1,4260 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_ARM64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_idl_user.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1199                              

+#define PROC_FORMAT_STRING_SIZE   2137                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_idl_user_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_idl_user_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_idl_user_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_idl_user_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_idl_user_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_idl_user_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_idl_user_MIDL_TYPE_FORMAT_STRING updater_idl_user__MIDL_TypeFormatString;

+extern const updater_idl_user_MIDL_PROC_FORMAT_STRING updater_idl_user__MIDL_ProcFormatString;

+extern const updater_idl_user_MIDL_EXPR_FORMAT_STRING updater_idl_user__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateStateUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateStateUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatusUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatusUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserverUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallbackUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStateUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallbackUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdater_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterUser_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_ARM64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_idl_user_MIDL_PROC_FORMAT_STRING updater_idl_user__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_state */

+

+

+	/* Procedure get_state */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 26 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 28 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusUser0000 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0000 */

+

+

+	/* Parameter __MIDL__IUpdateStateUser0000 */

+

+

+	/* Parameter __MIDL__IUpdateState0000 */

+

+/* 30 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 32 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 36 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 38 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 40 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 42 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 44 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 50 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 52 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 54 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 56 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 58 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 60 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 64 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 66 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 68 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 70 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusUser0001 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0001 */

+

+

+	/* Parameter __MIDL__IUpdateStateUser0001 */

+

+

+	/* Parameter __MIDL__IUpdateState0001 */

+

+/* 72 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 74 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 76 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 78 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 80 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 82 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersion */

+

+

+	/* Procedure get_nextVersion */

+

+/* 84 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 86 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 90 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 92 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 96 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 98 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 100 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 102 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 104 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 108 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 110 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 112 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0002 */

+

+

+	/* Parameter __MIDL__IUpdateState0002 */

+

+/* 114 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 116 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 118 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 120 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 122 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 124 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadedBytes */

+

+

+	/* Procedure get_downloadedBytes */

+

+/* 126 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 128 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 132 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 134 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 136 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 138 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 140 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 142 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 144 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 146 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 148 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 150 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 152 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 154 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0003 */

+

+

+	/* Parameter __MIDL__IUpdateState0003 */

+

+/* 156 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 158 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 160 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 162 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 164 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 166 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_totalBytes */

+

+

+	/* Procedure get_totalBytes */

+

+/* 168 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 170 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 174 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 176 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 178 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 180 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 182 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 184 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 186 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 188 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 190 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 192 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 194 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 196 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0004 */

+

+

+	/* Parameter __MIDL__IUpdateState0004 */

+

+/* 198 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 200 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 202 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 204 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 206 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 208 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 210 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 212 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 216 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 218 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 220 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 222 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 224 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 226 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 228 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 230 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 234 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 236 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 238 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0005 */

+

+

+	/* Parameter __MIDL__IUpdateState0005 */

+

+/* 240 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 242 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 244 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 246 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 248 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 250 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCategory */

+

+

+	/* Procedure get_errorCategory */

+

+/* 252 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 254 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 258 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 260 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 262 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 264 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 266 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 268 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 272 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 274 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 276 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 278 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 280 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0006 */

+

+

+	/* Parameter __MIDL__IUpdateState0006 */

+

+/* 282 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 284 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 286 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 288 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 290 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 292 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 294 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 296 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 300 */	NdrFcShort( 0xa ),	/* 10 */

+/* 302 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 306 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 308 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 310 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 312 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 314 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 316 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 318 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 320 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 322 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0007 */

+

+

+	/* Parameter __MIDL__IUpdateState0007 */

+

+/* 324 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 326 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 328 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 330 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 332 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 334 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 336 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 338 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 342 */	NdrFcShort( 0xb ),	/* 11 */

+/* 344 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 346 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 348 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 350 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 352 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 354 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 356 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 358 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 360 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 362 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 364 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0008 */

+

+

+	/* Parameter __MIDL__IUpdateState0008 */

+

+/* 366 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 368 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 370 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 372 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 374 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 376 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_installerText */

+

+

+	/* Procedure get_installerText */

+

+/* 378 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 380 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 384 */	NdrFcShort( 0xc ),	/* 12 */

+/* 386 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 388 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 390 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 392 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 394 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 396 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 398 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 400 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 402 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 404 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 406 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0005 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0005 */

+

+

+	/* Parameter __MIDL__IUpdateStateUser0009 */

+

+

+	/* Parameter __MIDL__IUpdateState0009 */

+

+/* 408 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 410 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 412 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 414 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 416 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 418 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerCommandLine */

+

+

+	/* Procedure get_installerCommandLine */

+

+/* 420 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 422 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 426 */	NdrFcShort( 0xd ),	/* 13 */

+/* 428 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 430 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 432 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 434 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 436 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 438 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 440 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 446 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 448 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0010 */

+

+

+	/* Parameter __MIDL__IUpdateState0010 */

+

+/* 450 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 452 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 454 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 456 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 458 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 460 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 462 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 464 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 468 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 470 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 474 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 476 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 478 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 480 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 482 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 486 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 488 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 490 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter update_state */

+

+/* 492 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 494 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 496 */	NdrFcShort( 0x32 ),	/* Type Offset=50 */

+

+	/* Return value */

+

+/* 498 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 500 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 502 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 504 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 506 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 510 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 512 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 516 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 518 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 520 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 524 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 526 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 528 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 530 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 532 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter status */

+

+/* 534 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 536 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 538 */	NdrFcShort( 0x44 ),	/* Type Offset=68 */

+

+	/* Return value */

+

+/* 540 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 542 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 544 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 546 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 548 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 552 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 554 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 556 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 558 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 560 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 562 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 564 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 568 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 570 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 572 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 574 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter update_state */

+

+/* 576 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 578 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 580 */	NdrFcShort( 0x56 ),	/* Type Offset=86 */

+

+	/* Return value */

+

+/* 582 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 584 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 586 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 588 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 590 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 594 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 596 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 598 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 600 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 602 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 604 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 606 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 608 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 610 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 612 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 614 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 616 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter status */

+

+/* 618 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 620 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 622 */	NdrFcShort( 0x68 ),	/* Type Offset=104 */

+

+	/* Return value */

+

+/* 624 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 626 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 628 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 630 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 632 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 636 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 638 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 640 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 642 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 644 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 646 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 648 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 650 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 652 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 654 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 656 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 658 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 660 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 662 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 664 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 666 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 668 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 670 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 672 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 674 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 678 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 680 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 684 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 686 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 688 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 690 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 692 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 694 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 698 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 700 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0000 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0000 */

+

+/* 702 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 704 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 706 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 708 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 710 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 712 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+/* 714 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 716 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 720 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 722 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 724 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 726 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 728 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 730 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 732 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 734 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 736 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 738 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 740 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 742 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0001 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0001 */

+

+/* 744 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 746 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 748 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 750 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 752 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 754 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ap */

+

+

+	/* Procedure get_ap */

+

+/* 756 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 758 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 762 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 764 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 766 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 768 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 770 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 772 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 774 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 776 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 778 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 780 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 782 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 784 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0002 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0002 */

+

+/* 786 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 788 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 790 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 792 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 794 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 796 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandCode */

+

+

+	/* Procedure get_brandCode */

+

+/* 798 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 800 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 804 */	NdrFcShort( 0xa ),	/* 10 */

+/* 806 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 812 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 814 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 816 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 822 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 824 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 826 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0003 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0003 */

+

+/* 828 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 830 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 832 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 834 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 836 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 838 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandPath */

+

+

+	/* Procedure get_brandPath */

+

+/* 840 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 842 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 846 */	NdrFcShort( 0xb ),	/* 11 */

+/* 848 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 850 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 852 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 854 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 856 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 858 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 860 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 864 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 866 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 868 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0004 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0004 */

+

+/* 870 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 872 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 874 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 876 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 878 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 880 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 882 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 884 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 888 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 890 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 894 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 896 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 898 */	0xe,		/* 14 */

+			0x85,		/* Ext Flags:  new corr desc, srv corr check, has big byval param */

+/* 900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 902 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 904 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 906 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 908 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 910 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter app_states */

+

+

+	/* Parameter app_states */

+

+/* 912 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 914 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 916 */	NdrFcShort( 0x434 ),	/* Type Offset=1076 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 918 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 920 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 922 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetVersion */

+

+

+	/* Procedure GetVersion */

+

+/* 924 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 926 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 930 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 932 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 934 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 936 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 938 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 940 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 942 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 944 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 946 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 948 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 950 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 952 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+/* 954 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 956 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 958 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 960 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 962 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 964 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 966 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 968 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 972 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 974 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 976 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 978 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 980 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 982 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 984 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 986 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 988 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 990 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 992 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 994 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 996 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 998 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1000 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+/* 1002 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1004 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1006 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 1008 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1010 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1014 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1016 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

+/* 1018 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1020 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1022 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 1024 */	0x14,		/* 20 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1026 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1030 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1032 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1034 */	0x8,		/* 8 */

+			0x80,		/* 128 */

+/* 1036 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1038 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1040 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1042 */	0x87,		/* 135 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

+/* 1044 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1046 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1048 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1050 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1052 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1054 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1056 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1058 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1060 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1062 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1064 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1066 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1068 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1070 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1072 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1074 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1076 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1078 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter callback */

+

+/* 1080 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1082 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1084 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+/* 1086 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1088 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 1090 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 1092 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1094 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1098 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1100 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1104 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1106 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1108 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1110 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1112 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1114 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1116 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1118 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1120 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 1122 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1124 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1126 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+/* 1128 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1130 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1132 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1134 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1136 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1140 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1142 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1144 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1146 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1148 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1150 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1152 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1154 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1156 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1158 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1160 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 1162 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1164 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter app_id */

+

+/* 1166 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1168 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1170 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1172 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1174 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1176 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1178 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1180 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1182 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1184 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1186 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1188 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1190 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1192 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1194 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1196 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1198 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1202 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1204 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1206 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1208 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1210 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1212 */	0x12,		/* 18 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1214 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1216 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1218 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1220 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1222 */	0x6,		/* 6 */

+			0x80,		/* 128 */

+/* 1224 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1226 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1228 */	0x85,		/* 133 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

+/* 1230 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1232 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1234 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1236 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1238 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1240 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1242 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1244 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1246 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1248 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1250 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1252 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1254 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1256 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1258 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1260 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1262 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1264 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1266 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1268 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1272 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1274 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1276 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1278 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1280 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1282 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1284 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1288 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1290 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1292 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1294 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1296 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1298 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1300 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1302 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1304 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1306 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1308 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1310 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1314 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1316 */	NdrFcShort( 0x60 ),	/* ARM64 Stack size/offset = 96 */

+/* 1318 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1320 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1322 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1324 */	0x16,		/* 22 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1326 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1328 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1332 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1334 */	0xb,		/* 11 */

+			0x80,		/* 128 */

+/* 1336 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1338 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1340 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1342 */	0x87,		/* 135 */

+			0xf8,		/* 248 */

+/* 1344 */	0xf8,		/* 248 */

+			0xf8,		/* 248 */

+

+	/* Parameter app_id */

+

+/* 1346 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1348 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1350 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1352 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1354 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1356 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1358 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1360 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1362 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1364 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1366 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1368 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1370 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1372 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1374 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1376 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1378 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1380 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter client_install_data */

+

+/* 1382 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1384 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1386 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1388 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1390 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 1392 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1394 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1396 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

+/* 1398 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1400 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1402 */	NdrFcShort( 0x50 ),	/* ARM64 Stack size/offset = 80 */

+/* 1404 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1406 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1408 */	NdrFcShort( 0x58 ),	/* ARM64 Stack size/offset = 88 */

+/* 1410 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CancelInstalls */

+

+

+	/* Procedure CancelInstalls */

+

+/* 1412 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1414 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1418 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1420 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1422 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1424 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1426 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1428 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1430 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1432 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1434 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1436 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1438 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1440 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1442 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1444 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1446 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1448 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1450 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1452 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1454 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1456 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1460 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1462 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 1464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1466 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1468 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 1470 */	0x12,		/* 18 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1474 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1478 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1480 */	0x7,		/* 7 */

+			0x80,		/* 128 */

+/* 1482 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1484 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1486 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+

+	/* Parameter app_id */

+

+/* 1488 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1490 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1492 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter installer_path */

+

+/* 1494 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1496 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1498 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_args */

+

+/* 1500 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1502 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1504 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data */

+

+/* 1506 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1508 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1510 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_settings */

+

+/* 1512 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1514 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1516 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter observer */

+

+/* 1518 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1520 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1522 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1524 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1526 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1528 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1530 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1532 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1536 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1538 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1542 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1544 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1546 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1554 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1556 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1558 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 1560 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1562 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1564 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 1566 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1568 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1570 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 1572 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1574 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1578 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1580 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1582 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1584 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1586 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1588 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1596 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1598 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1600 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 1602 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1604 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1606 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1608 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1610 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1612 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 1614 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1616 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1620 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1622 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

+/* 1624 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1626 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1628 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 1630 */	0x14,		/* 20 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1638 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1640 */	0x8,		/* 8 */

+			0x80,		/* 128 */

+/* 1642 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1644 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1646 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1648 */	0x87,		/* 135 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

+/* 1650 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1652 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1654 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1656 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1658 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1660 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1662 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1664 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1666 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1668 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1670 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1672 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1674 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1676 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1678 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1680 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1682 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1684 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter callback */

+

+/* 1686 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1688 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1690 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1692 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1694 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 1696 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 1698 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1700 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1704 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1706 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1710 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1712 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1714 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1716 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1718 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1720 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1722 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1724 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1726 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 1728 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1730 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1732 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1734 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1736 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1738 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1740 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1742 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1746 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1748 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1750 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1752 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1754 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1756 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1760 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1762 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1764 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1766 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 1768 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1770 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter app_id */

+

+/* 1772 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1774 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1776 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1778 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1780 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1782 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1784 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1786 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1788 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1790 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1792 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1794 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1796 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1798 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1800 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1802 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1804 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1808 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1810 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1812 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1814 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1816 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1818 */	0x12,		/* 18 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1822 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1826 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1828 */	0x6,		/* 6 */

+			0x80,		/* 128 */

+/* 1830 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1832 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1834 */	0x85,		/* 133 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

+/* 1836 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1838 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1840 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1842 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1844 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1846 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1848 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1850 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1852 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1854 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1856 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1858 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1860 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1862 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1864 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1866 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1868 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1870 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1872 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1874 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1878 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1880 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1882 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1884 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1886 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1888 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1890 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1894 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1896 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1898 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1900 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1902 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1904 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1906 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1908 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1910 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1912 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1914 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1916 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1920 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1922 */	NdrFcShort( 0x60 ),	/* ARM64 Stack size/offset = 96 */

+/* 1924 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1926 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1928 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1930 */	0x16,		/* 22 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1932 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1934 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1936 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1938 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1940 */	0xb,		/* 11 */

+			0x80,		/* 128 */

+/* 1942 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1944 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1946 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1948 */	0x87,		/* 135 */

+			0xf8,		/* 248 */

+/* 1950 */	0xf8,		/* 248 */

+			0xf8,		/* 248 */

+

+	/* Parameter app_id */

+

+/* 1952 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1954 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1956 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1958 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1960 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1962 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1964 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1966 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1968 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1970 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1972 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1974 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1976 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1978 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1980 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1982 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1984 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 1986 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter client_install_data */

+

+/* 1988 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1990 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 1992 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1994 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1996 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 1998 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 2000 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 2002 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

+/* 2004 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 2006 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 2008 */	NdrFcShort( 0x50 ),	/* ARM64 Stack size/offset = 80 */

+/* 2010 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 2012 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2014 */	NdrFcShort( 0x58 ),	/* ARM64 Stack size/offset = 88 */

+/* 2016 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 2018 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2020 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2024 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2026 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 2028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2030 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2032 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 2034 */	0x12,		/* 18 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2036 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2038 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2040 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2042 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 2044 */	0x7,		/* 7 */

+			0x80,		/* 128 */

+/* 2046 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 2048 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 2050 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+

+	/* Parameter app_id */

+

+/* 2052 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2054 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2056 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter installer_path */

+

+/* 2058 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2060 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2062 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_args */

+

+/* 2064 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2066 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2068 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data */

+

+/* 2070 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2072 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2074 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_settings */

+

+/* 2076 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2078 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2080 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter observer */

+

+/* 2082 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 2084 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2086 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 2088 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2090 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2092 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 2094 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2096 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2100 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2102 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2104 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2106 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2108 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2110 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2112 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2114 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2116 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2118 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2120 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2122 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 2124 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 2126 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2128 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */

+

+	/* Return value */

+

+/* 2130 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2132 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2134 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_idl_user_MIDL_TYPE_FORMAT_STRING updater_idl_user__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/*  4 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/*  6 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  8 */	NdrFcShort( 0x1c ),	/* Offset= 28 (36) */

+/* 10 */	

+			0x13, 0x0,	/* FC_OP */

+/* 12 */	NdrFcShort( 0xe ),	/* Offset= 14 (26) */

+/* 14 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 16 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 18 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 20 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 22 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 24 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 26 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 28 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 30 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (14) */

+/* 32 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 34 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 36 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 42 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0xffde ),	/* Offset= -34 (10) */

+/* 46 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 48 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x46acf70b ),	/* 1185740555 */

+/* 56 */	NdrFcShort( 0xac13 ),	/* -21485 */

+/* 58 */	NdrFcShort( 0x406d ),	/* 16493 */

+/* 60 */	0xb5,		/* 181 */

+			0x3b,		/* 59 */

+/* 62 */	0xb2,		/* 178 */

+			0xc4,		/* 196 */

+/* 64 */	0xbf,		/* 191 */

+			0x9,		/* 9 */

+/* 66 */	0x1f,		/* 31 */

+			0xf6,		/* 246 */

+/* 68 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 70 */	NdrFcLong( 0x2fcd14af ),	/* 801969327 */

+/* 74 */	NdrFcShort( 0xb645 ),	/* -18875 */

+/* 76 */	NdrFcShort( 0x4351 ),	/* 17233 */

+/* 78 */	0x83,		/* 131 */

+			0x59,		/* 89 */

+/* 80 */	0xe8,		/* 232 */

+			0xa,		/* 10 */

+/* 82 */	0xe,		/* 14 */

+			0x20,		/* 32 */

+/* 84 */	0x2a,		/* 42 */

+			0xb,		/* 11 */

+/* 86 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 88 */	NdrFcLong( 0xc3485d9f ),	/* -1018667617 */

+/* 92 */	NdrFcShort( 0xc684 ),	/* -14716 */

+/* 94 */	NdrFcShort( 0x4c43 ),	/* 19523 */

+/* 96 */	0xb8,		/* 184 */

+			0x5b,		/* 91 */

+/* 98 */	0xe3,		/* 227 */

+			0x39,		/* 57 */

+/* 100 */	0xea,		/* 234 */

+			0x39,		/* 57 */

+/* 102 */	0x5c,		/* 92 */

+			0x29,		/* 41 */

+/* 104 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 106 */	NdrFcLong( 0x9ad1a645 ),	/* -1697536443 */

+/* 110 */	NdrFcShort( 0x5a4b ),	/* 23115 */

+/* 112 */	NdrFcShort( 0x4d36 ),	/* 19766 */

+/* 114 */	0xbc,		/* 188 */

+			0x21,		/* 33 */

+/* 116 */	0xf0,		/* 240 */

+			0x5,		/* 5 */

+/* 118 */	0x94,		/* 148 */

+			0x82,		/* 130 */

+/* 120 */	0xe6,		/* 230 */

+			0xea,		/* 234 */

+/* 122 */	

+			0x11, 0x0,	/* FC_RP */

+/* 124 */	NdrFcShort( 0x3b8 ),	/* Offset= 952 (1076) */

+/* 126 */	

+			0x12, 0x0,	/* FC_UP */

+/* 128 */	NdrFcShort( 0x3a0 ),	/* Offset= 928 (1056) */

+/* 130 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 132 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 134 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 136 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 138 */	NdrFcShort( 0x2 ),	/* Offset= 2 (140) */

+/* 140 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 142 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 144 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 148 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 150 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 154 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 156 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 160 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 162 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 166 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 168 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 172 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 174 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 178 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 180 */	NdrFcLong( 0xb ),	/* 11 */

+/* 184 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 186 */	NdrFcLong( 0xa ),	/* 10 */

+/* 190 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 192 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 196 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (428) */

+/* 198 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 202 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 204 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 208 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (434) */

+/* 210 */	NdrFcLong( 0xd ),	/* 13 */

+/* 214 */	NdrFcShort( 0xe0 ),	/* Offset= 224 (438) */

+/* 216 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 220 */	NdrFcShort( 0xec ),	/* Offset= 236 (456) */

+/* 222 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 226 */	NdrFcShort( 0xf8 ),	/* Offset= 248 (474) */

+/* 228 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 232 */	NdrFcShort( 0x2ee ),	/* Offset= 750 (982) */

+/* 234 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 238 */	NdrFcShort( 0x2e8 ),	/* Offset= 744 (982) */

+/* 240 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 244 */	NdrFcShort( 0x2e6 ),	/* Offset= 742 (986) */

+/* 246 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 250 */	NdrFcShort( 0x2e4 ),	/* Offset= 740 (990) */

+/* 252 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 256 */	NdrFcShort( 0x2e2 ),	/* Offset= 738 (994) */

+/* 258 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 262 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (998) */

+/* 264 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 268 */	NdrFcShort( 0x2de ),	/* Offset= 734 (1002) */

+/* 270 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 274 */	NdrFcShort( 0x2dc ),	/* Offset= 732 (1006) */

+/* 276 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 280 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (990) */

+/* 282 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 286 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (994) */

+/* 288 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 292 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (1010) */

+/* 294 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 298 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (1006) */

+/* 300 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 304 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (1014) */

+/* 306 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 310 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (1018) */

+/* 312 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 316 */	NdrFcShort( 0x2c2 ),	/* Offset= 706 (1022) */

+/* 318 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 322 */	NdrFcShort( 0x2c0 ),	/* Offset= 704 (1026) */

+/* 324 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 328 */	NdrFcShort( 0x2be ),	/* Offset= 702 (1030) */

+/* 330 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 334 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 336 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 340 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 342 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 346 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 348 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 352 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 354 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 358 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 360 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 364 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 366 */	NdrFcLong( 0xe ),	/* 14 */

+/* 370 */	NdrFcShort( 0x29c ),	/* Offset= 668 (1038) */

+/* 372 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 376 */	NdrFcShort( 0x2a0 ),	/* Offset= 672 (1048) */

+/* 378 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 382 */	NdrFcShort( 0x29e ),	/* Offset= 670 (1052) */

+/* 384 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 388 */	NdrFcShort( 0x25a ),	/* Offset= 602 (990) */

+/* 390 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 394 */	NdrFcShort( 0x258 ),	/* Offset= 600 (994) */

+/* 396 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 400 */	NdrFcShort( 0x256 ),	/* Offset= 598 (998) */

+/* 402 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 406 */	NdrFcShort( 0x24c ),	/* Offset= 588 (994) */

+/* 408 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 412 */	NdrFcShort( 0x246 ),	/* Offset= 582 (994) */

+/* 414 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 418 */	NdrFcShort( 0x0 ),	/* Offset= 0 (418) */

+/* 420 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 424 */	NdrFcShort( 0x0 ),	/* Offset= 0 (424) */

+/* 426 */	NdrFcShort( 0xffff ),	/* Offset= -1 (425) */

+/* 428 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 430 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 432 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 434 */	

+			0x12, 0x0,	/* FC_UP */

+/* 436 */	NdrFcShort( 0xfe66 ),	/* Offset= -410 (26) */

+/* 438 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 440 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 448 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 450 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 452 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 454 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 456 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 458 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 462 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 466 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 468 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 470 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 472 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 474 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 476 */	NdrFcShort( 0x2 ),	/* Offset= 2 (478) */

+/* 478 */	

+			0x12, 0x0,	/* FC_UP */

+/* 480 */	NdrFcShort( 0x1e4 ),	/* Offset= 484 (964) */

+/* 482 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x89,		/* 137 */

+/* 484 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 486 */	NdrFcShort( 0xa ),	/* 10 */

+/* 488 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 492 */	NdrFcShort( 0x50 ),	/* Offset= 80 (572) */

+/* 494 */	NdrFcLong( 0xd ),	/* 13 */

+/* 498 */	NdrFcShort( 0x70 ),	/* Offset= 112 (610) */

+/* 500 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 504 */	NdrFcShort( 0x90 ),	/* Offset= 144 (648) */

+/* 506 */	NdrFcLong( 0xc ),	/* 12 */

+/* 510 */	NdrFcShort( 0xb0 ),	/* Offset= 176 (686) */

+/* 512 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 516 */	NdrFcShort( 0x102 ),	/* Offset= 258 (774) */

+/* 518 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 522 */	NdrFcShort( 0x11e ),	/* Offset= 286 (808) */

+/* 524 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 528 */	NdrFcShort( 0x138 ),	/* Offset= 312 (840) */

+/* 530 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 534 */	NdrFcShort( 0x14e ),	/* Offset= 334 (868) */

+/* 536 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 540 */	NdrFcShort( 0x164 ),	/* Offset= 356 (896) */

+/* 542 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 546 */	NdrFcShort( 0x17a ),	/* Offset= 378 (924) */

+/* 548 */	NdrFcShort( 0xffff ),	/* Offset= -1 (547) */

+/* 550 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 554 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 556 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 558 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 560 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 564 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 566 */	

+			0x12, 0x0,	/* FC_UP */

+/* 568 */	NdrFcShort( 0xfde2 ),	/* Offset= -542 (26) */

+/* 570 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 572 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 574 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 576 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 578 */	NdrFcShort( 0x6 ),	/* Offset= 6 (584) */

+/* 580 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 582 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 584 */	

+			0x11, 0x0,	/* FC_RP */

+/* 586 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (550) */

+/* 588 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 592 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 596 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 598 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 602 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 604 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 606 */	NdrFcShort( 0xff58 ),	/* Offset= -168 (438) */

+/* 608 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 610 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 612 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 616 */	NdrFcShort( 0x6 ),	/* Offset= 6 (622) */

+/* 618 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 620 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 622 */	

+			0x11, 0x0,	/* FC_RP */

+/* 624 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (588) */

+/* 626 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 630 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 634 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 636 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 640 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 642 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 644 */	NdrFcShort( 0xff44 ),	/* Offset= -188 (456) */

+/* 646 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 648 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 650 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 652 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 654 */	NdrFcShort( 0x6 ),	/* Offset= 6 (660) */

+/* 656 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 658 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 660 */	

+			0x11, 0x0,	/* FC_RP */

+/* 662 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (626) */

+/* 664 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 666 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 668 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 672 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 674 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 678 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 680 */	

+			0x12, 0x0,	/* FC_UP */

+/* 682 */	NdrFcShort( 0x176 ),	/* Offset= 374 (1056) */

+/* 684 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 686 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 688 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 690 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 692 */	NdrFcShort( 0x6 ),	/* Offset= 6 (698) */

+/* 694 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 696 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 698 */	

+			0x11, 0x0,	/* FC_RP */

+/* 700 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (664) */

+/* 702 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 704 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 714 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 716 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 718 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 720 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 722 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 724 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 726 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 728 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 730 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 732 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 734 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 736 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 738 */	NdrFcShort( 0xa ),	/* Offset= 10 (748) */

+/* 740 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 742 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 744 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (702) */

+/* 746 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 748 */	

+			0x12, 0x0,	/* FC_UP */

+/* 750 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (720) */

+/* 752 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 756 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 762 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 766 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 768 */	

+			0x12, 0x0,	/* FC_UP */

+/* 770 */	NdrFcShort( 0xffda ),	/* Offset= -38 (732) */

+/* 772 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 774 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 776 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 778 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 780 */	NdrFcShort( 0x6 ),	/* Offset= 6 (786) */

+/* 782 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 784 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 786 */	

+			0x11, 0x0,	/* FC_RP */

+/* 788 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (752) */

+/* 790 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 792 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 794 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 796 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 798 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 800 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 802 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 804 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (790) */

+			0x5b,		/* FC_END */

+/* 808 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 810 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 812 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 814 */	NdrFcShort( 0xa ),	/* Offset= 10 (824) */

+/* 816 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 818 */	0x36,		/* FC_POINTER */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 820 */	0x0,		/* 0 */

+			NdrFcShort( 0xffe7 ),	/* Offset= -25 (796) */

+			0x5b,		/* FC_END */

+/* 824 */	

+			0x11, 0x0,	/* FC_RP */

+/* 826 */	NdrFcShort( 0xff12 ),	/* Offset= -238 (588) */

+/* 828 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 830 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 832 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 836 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 838 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 840 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 842 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 844 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 846 */	NdrFcShort( 0x6 ),	/* Offset= 6 (852) */

+/* 848 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 850 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 852 */	

+			0x12, 0x0,	/* FC_UP */

+/* 854 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (828) */

+/* 856 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 858 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 860 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 864 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 866 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 868 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 870 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 872 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 874 */	NdrFcShort( 0x6 ),	/* Offset= 6 (880) */

+/* 876 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 878 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 880 */	

+			0x12, 0x0,	/* FC_UP */

+/* 882 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (856) */

+/* 884 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 886 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 888 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 890 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 892 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 894 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 896 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 898 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 902 */	NdrFcShort( 0x6 ),	/* Offset= 6 (908) */

+/* 904 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 906 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 908 */	

+			0x12, 0x0,	/* FC_UP */

+/* 910 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (884) */

+/* 912 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 914 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 916 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 918 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 920 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 922 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 924 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 926 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 930 */	NdrFcShort( 0x6 ),	/* Offset= 6 (936) */

+/* 932 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 934 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 936 */	

+			0x12, 0x0,	/* FC_UP */

+/* 938 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (912) */

+/* 940 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 942 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 944 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 946 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 948 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 950 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 952 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 954 */	NdrFcShort( 0xffc8 ),	/* -56 */

+/* 956 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 958 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 960 */	NdrFcShort( 0xffec ),	/* Offset= -20 (940) */

+/* 962 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 964 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 966 */	NdrFcShort( 0x38 ),	/* 56 */

+/* 968 */	NdrFcShort( 0xffec ),	/* Offset= -20 (948) */

+/* 970 */	NdrFcShort( 0x0 ),	/* Offset= 0 (970) */

+/* 972 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 974 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 976 */	0x40,		/* FC_STRUCTPAD4 */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 978 */	0x0,		/* 0 */

+			NdrFcShort( 0xfe0f ),	/* Offset= -497 (482) */

+			0x5b,		/* FC_END */

+/* 982 */	

+			0x12, 0x0,	/* FC_UP */

+/* 984 */	NdrFcShort( 0xff04 ),	/* Offset= -252 (732) */

+/* 986 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 988 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 990 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 992 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 994 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 996 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 998 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1000 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1004 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 1006 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1008 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1010 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1012 */	NdrFcShort( 0xfdb8 ),	/* Offset= -584 (428) */

+/* 1014 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1016 */	NdrFcShort( 0xfdba ),	/* Offset= -582 (434) */

+/* 1018 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1020 */	NdrFcShort( 0xfdba ),	/* Offset= -582 (438) */

+/* 1022 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1024 */	NdrFcShort( 0xfdc8 ),	/* Offset= -568 (456) */

+/* 1026 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1028 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (474) */

+/* 1030 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1032 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1034) */

+/* 1034 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1036 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1056) */

+/* 1038 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 1040 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1042 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 1044 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 1046 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 1048 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1050 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1038) */

+/* 1052 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1054 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1056 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1058 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1060 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1062 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1062) */

+/* 1064 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1066 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1068 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1070 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1072 */	NdrFcShort( 0xfc52 ),	/* Offset= -942 (130) */

+/* 1074 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1076 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1078 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1080 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1082 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1084 */	NdrFcShort( 0xfc42 ),	/* Offset= -958 (126) */

+/* 1086 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1088 */	NdrFcLong( 0x8bab6f84 ),	/* -1951699068 */

+/* 1092 */	NdrFcShort( 0xad67 ),	/* -21145 */

+/* 1094 */	NdrFcShort( 0x4819 ),	/* 18457 */

+/* 1096 */	0xb8,		/* 184 */

+			0x46,		/* 70 */

+/* 1098 */	0xcc,		/* 204 */

+			0x89,		/* 137 */

+/* 1100 */	0x8,		/* 8 */

+			0x80,		/* 128 */

+/* 1102 */	0xfd,		/* 253 */

+			0x3b,		/* 59 */

+/* 1104 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1106 */	

+			0x25,		/* FC_C_WSTRING */

+			0x5c,		/* FC_PAD */

+/* 1108 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1110 */	NdrFcLong( 0x7b416cfd ),	/* 2067885309 */

+/* 1114 */	NdrFcShort( 0x4216 ),	/* 16918 */

+/* 1116 */	NdrFcShort( 0x4fd6 ),	/* 20438 */

+/* 1118 */	0xbd,		/* 189 */

+			0x83,		/* 131 */

+/* 1120 */	0x7c,		/* 124 */

+			0x58,		/* 88 */

+/* 1122 */	0x60,		/* 96 */

+			0x54,		/* 84 */

+/* 1124 */	0x67,		/* 103 */

+			0x6e,		/* 110 */

+/* 1126 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1128 */	NdrFcLong( 0xefe903c0 ),	/* -269941824 */

+/* 1132 */	NdrFcShort( 0xe820 ),	/* -6112 */

+/* 1134 */	NdrFcShort( 0x4136 ),	/* 16694 */

+/* 1136 */	0x9f,		/* 159 */

+			0xae,		/* 174 */

+/* 1138 */	0xfd,		/* 253 */

+			0xcd,		/* 205 */

+/* 1140 */	0x7f,		/* 127 */

+			0x25,		/* 37 */

+/* 1142 */	0x63,		/* 99 */

+			0x2,		/* 2 */

+/* 1144 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1146 */	NdrFcLong( 0x34adc89d ),	/* 883804317 */

+/* 1150 */	NdrFcShort( 0x552b ),	/* 21803 */

+/* 1152 */	NdrFcShort( 0x4102 ),	/* 16642 */

+/* 1154 */	0x8a,		/* 138 */

+			0xe5,		/* 229 */

+/* 1156 */	0xd6,		/* 214 */

+			0x13,		/* 19 */

+/* 1158 */	0xa6,		/* 166 */

+			0x91,		/* 145 */

+/* 1160 */	0x33,		/* 51 */

+			0x5b,		/* 91 */

+/* 1162 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1164 */	NdrFcLong( 0xb54493a0 ),	/* -1253796960 */

+/* 1168 */	NdrFcShort( 0x65b7 ),	/* 26039 */

+/* 1170 */	NdrFcShort( 0x408c ),	/* 16524 */

+/* 1172 */	0xb6,		/* 182 */

+			0x50,		/* 80 */

+/* 1174 */	0x6,		/* 6 */

+			0x26,		/* 38 */

+/* 1176 */	0x5d,		/* 93 */

+			0x21,		/* 33 */

+/* 1178 */	0x82,		/* 130 */

+			0xac,		/* 172 */

+/* 1180 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1182 */	NdrFcLong( 0xbcfcf95c ),	/* -1124271780 */

+/* 1186 */	NdrFcShort( 0xde48 ),	/* -8632 */

+/* 1188 */	NdrFcShort( 0x4f42 ),	/* 20290 */

+/* 1190 */	0xb0,		/* 176 */

+			0xe9,		/* 233 */

+/* 1192 */	0xd5,		/* 213 */

+			0xd,		/* 13 */

+/* 1194 */	0xb4,		/* 180 */

+			0x7,		/* 7 */

+/* 1196 */	0xdb,		/* 219 */

+			0x53,		/* 83 */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdateState, ver. 0.0,

+   GUID={0x46ACF70B,0xAC13,0x406D,{0xB5,0x3B,0xB2,0xC4,0xBF,0x09,0x1F,0xF6}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateState_FormatStringOffsetTable[] =

+    {

+    0,

+    42,

+    84,

+    126,

+    168,

+    210,

+    252,

+    294,

+    336,

+    378,

+    420

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateProxyVtbl = 

+{

+    &IUpdateState_ProxyInfo,

+    &IID_IUpdateState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateStubVtbl =

+{

+    &IID_IUpdateState,

+    &IUpdateState_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdateStateUser, ver. 0.0,

+   GUID={0xC3485D9F,0xC684,0x4C43,{0xB8,0x5B,0xE3,0x39,0xEA,0x39,0x5C,0x29}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateStateUser_FormatStringOffsetTable[] =

+    {

+    0,

+    42,

+    84,

+    126,

+    168,

+    210,

+    252,

+    294,

+    336,

+    378,

+    420

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateStateUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateStateUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateUserProxyVtbl = 

+{

+    &IUpdateStateUser_ProxyInfo,

+    &IID_IUpdateStateUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateUserStubVtbl =

+{

+    &IID_IUpdateStateUser,

+    &IUpdateStateUser_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatus, ver. 0.0,

+   GUID={0x2FCD14AF,0xB645,0x4351,{0x83,0x59,0xE8,0x0A,0x0E,0x20,0x2A,0x0B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatus_FormatStringOffsetTable[] =

+    {

+    0,

+    42

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusProxyVtbl = 

+{

+    &ICompleteStatus_ProxyInfo,

+    &IID_ICompleteStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusStubVtbl =

+{

+    &IID_ICompleteStatus,

+    &ICompleteStatus_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatusUser, ver. 0.0,

+   GUID={0x9AD1A645,0x5A4B,0x4D36,{0xBC,0x21,0xF0,0x05,0x94,0x82,0xE6,0xEA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatusUser_FormatStringOffsetTable[] =

+    {

+    0,

+    42

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatusUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatusUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusUserProxyVtbl = 

+{

+    &ICompleteStatusUser_ProxyInfo,

+    &IID_ICompleteStatusUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusUser::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusUser::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusUserStubVtbl =

+{

+    &IID_ICompleteStatusUser,

+    &ICompleteStatusUser_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserver, ver. 0.0,

+   GUID={0x7B416CFD,0x4216,0x4FD6,{0xBD,0x83,0x7C,0x58,0x60,0x54,0x67,0x6E}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserver_FormatStringOffsetTable[] =

+    {

+    462,

+    504

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverProxyVtbl = 

+{

+    &IUpdaterObserver_ProxyInfo,

+    &IID_IUpdaterObserver,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverStubVtbl =

+{

+    &IID_IUpdaterObserver,

+    &IUpdaterObserver_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserverUser, ver. 0.0,

+   GUID={0xB54493A0,0x65B7,0x408C,{0xB6,0x50,0x06,0x26,0x5D,0x21,0x82,0xAC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserverUser_FormatStringOffsetTable[] =

+    {

+    546,

+    588

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserverUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverUserProxyVtbl = 

+{

+    &IUpdaterObserverUser_ProxyInfo,

+    &IID_IUpdaterObserverUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverUser::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverUser::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverUserStubVtbl =

+{

+    &IID_IUpdaterObserverUser,

+    &IUpdaterObserverUser_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallback, ver. 0.0,

+   GUID={0x8BAB6F84,0xAD67,0x4819,{0xB8,0x46,0xCC,0x89,0x08,0x80,0xFD,0x3B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallback_FormatStringOffsetTable[] =

+    {

+    630

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackProxyVtbl = 

+{

+    &IUpdaterCallback_ProxyInfo,

+    &IID_IUpdaterCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackStubVtbl =

+{

+    &IID_IUpdaterCallback,

+    &IUpdaterCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallbackUser, ver. 0.0,

+   GUID={0x34ADC89D,0x552B,0x4102,{0x8A,0xE5,0xD6,0x13,0xA6,0x91,0x33,0x5B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallbackUser_FormatStringOffsetTable[] =

+    {

+    630

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallbackUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackUserProxyVtbl = 

+{

+    &IUpdaterCallbackUser_ProxyInfo,

+    &IID_IUpdaterCallbackUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallbackUser::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackUserStubVtbl =

+{

+    &IID_IUpdaterCallbackUser,

+    &IUpdaterCallbackUser_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterAppState, ver. 0.0,

+   GUID={0xA22AFC54,0x2DEF,0x4578,{0x91,0x87,0xDB,0x3B,0x24,0x38,0x10,0x90}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    672,

+    714,

+    756,

+    798,

+    840,

+    378

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateProxyVtbl = 

+{

+    &IUpdaterAppState_ProxyInfo,

+    &IID_IUpdaterAppState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateStubVtbl =

+{

+    &IID_IUpdaterAppState,

+    &IUpdaterAppState_ServerInfo,

+    13,

+    &IUpdaterAppState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStateUser, ver. 0.0,

+   GUID={0x028FEB84,0x44BC,0x4A73,{0xA0,0xCD,0x60,0x36,0x78,0x15,0x5C,0xC3}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStateUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    672,

+    714,

+    756,

+    798,

+    840,

+    378

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStateUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateUserProxyVtbl = 

+{

+    &IUpdaterAppStateUser_ProxyInfo,

+    &IID_IUpdaterAppStateUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppStateUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateUserStubVtbl =

+{

+    &IID_IUpdaterAppStateUser,

+    &IUpdaterAppStateUser_ServerInfo,

+    13,

+    &IUpdaterAppStateUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallback, ver. 0.0,

+   GUID={0xEFE903C0,0xE820,0x4136,{0x9F,0xAE,0xFD,0xCD,0x7F,0x25,0x63,0x02}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallback_FormatStringOffsetTable[] =

+    {

+    882

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackProxyVtbl = 

+{

+    &IUpdaterAppStatesCallback_ProxyInfo,

+    &IID_IUpdaterAppStatesCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallback,

+    &IUpdaterAppStatesCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallbackUser, ver. 0.0,

+   GUID={0xBCFCF95C,0xDE48,0x4F42,{0xB0,0xE9,0xD5,0x0D,0xB4,0x07,0xDB,0x53}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallbackUser_FormatStringOffsetTable[] =

+    {

+    882

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallbackUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackUserProxyVtbl = 

+{

+    &IUpdaterAppStatesCallbackUser_ProxyInfo,

+    &IID_IUpdaterAppStatesCallbackUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallbackUser::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackUserStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallbackUser,

+    &IUpdaterAppStatesCallbackUser_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdater, ver. 0.0,

+   GUID={0x63B8FFB1,0x5314,0x48C9,{0x9C,0x57,0x93,0xEC,0x8B,0xC6,0x18,0x4B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdater_FormatStringOffsetTable[] =

+    {

+    924,

+    966,

+    1008,

+    1092,

+    1134,

+    1196,

+    1266,

+    1308,

+    1412,

+    1454,

+    1530

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdater_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterProxyVtbl = 

+{

+    &IUpdater_ProxyInfo,

+    &IID_IUpdater,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterStubVtbl =

+{

+    &IID_IUpdater,

+    &IUpdater_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterUser, ver. 0.0,

+   GUID={0x02AFCB67,0x0899,0x4676,{0x91,0xA9,0x67,0xD9,0x2B,0x3B,0x79,0x18}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterUser_FormatStringOffsetTable[] =

+    {

+    924,

+    1572,

+    1614,

+    1698,

+    1740,

+    1802,

+    1872,

+    1914,

+    1412,

+    2018,

+    2094

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterUserProxyVtbl = 

+{

+    &IUpdaterUser_ProxyInfo,

+    &IID_IUpdaterUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterUserStubVtbl =

+{

+    &IID_IUpdaterUser,

+    &IUpdaterUser_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_idl_user__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_idl_user_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdateStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdateStateUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_idl_user_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdateStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdateStateUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_idl_user_InterfaceNamesList[] = 

+{

+    "IUpdateState",

+    "ICompleteStatusUser",

+    "IUpdaterAppState",

+    "IUpdaterAppStatesCallbackUser",

+    "IUpdaterUser",

+    "IUpdaterCallback",

+    "IUpdaterAppStateUser",

+    "IUpdaterCallbackUser",

+    "IUpdateStateUser",

+    "IUpdaterObserverUser",

+    "ICompleteStatus",

+    "IUpdater",

+    "IUpdaterAppStatesCallback",

+    "IUpdaterObserver",

+    0

+};

+

+const IID *  const _updater_idl_user_BaseIIDList[] = 

+{

+    0,

+    0,

+    &IID_IDispatch,

+    0,

+    0,

+    0,

+    &IID_IDispatch,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0

+};

+

+

+#define _updater_idl_user_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_idl_user, pIID, n)

+

+int __stdcall _updater_idl_user_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_idl_user, 14, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_user, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_user, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_user, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_idl_user, 14, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_idl_user_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_idl_user_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_idl_user_StubVtblList,

+    (const PCInterfaceName * ) & _updater_idl_user_InterfaceNamesList,

+    (const IID ** ) & _updater_idl_user_BaseIIDList,

+    & _updater_idl_user_IID_Lookup, 

+    14,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_ARM64) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system.dlldata.c
new file mode 100644
index 0000000..c75be62
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system.dlldata.c
@@ -0,0 +1,37 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_internal_idl_system )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_internal_idl_system ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system.h
new file mode 100644
index 0000000..4748e14
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system.h
@@ -0,0 +1,528 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_internal_idl_system_h__

+#define __updater_internal_idl_system_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdaterInternalCallback_FWD_DEFINED__

+#define __IUpdaterInternalCallback_FWD_DEFINED__

+typedef interface IUpdaterInternalCallback IUpdaterInternalCallback;

+

+#endif 	/* __IUpdaterInternalCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+#define __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackSystem IUpdaterInternalCallbackSystem;

+

+#endif 	/* __IUpdaterInternalCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_FWD_DEFINED__

+#define __IUpdaterInternal_FWD_DEFINED__

+typedef interface IUpdaterInternal IUpdaterInternal;

+

+#endif 	/* __IUpdaterInternal_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalSystem_FWD_DEFINED__

+#define __IUpdaterInternalSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalSystem IUpdaterInternalSystem;

+

+#endif 	/* __IUpdaterInternalSystem_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalUserClass_FWD_DEFINED__

+#define __UpdaterInternalUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalUserClass UpdaterInternalUserClass;

+#else

+typedef struct UpdaterInternalUserClass UpdaterInternalUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalSystemClass_FWD_DEFINED__

+#define __UpdaterInternalSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#else

+typedef struct UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+#define __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackSystem IUpdaterInternalCallbackSystem;

+

+#endif 	/* __IUpdaterInternalCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalSystem_FWD_DEFINED__

+#define __IUpdaterInternalSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalSystem IUpdaterInternalSystem;

+

+#endif 	/* __IUpdaterInternalSystem_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdaterInternalCallback_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("D272C794-2ACE-4584-B993-3B90C622BE65")

+    IUpdaterInternalCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackVtbl;

+

+    interface IUpdaterInternalCallback

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackSystem_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallbackSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallbackSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallbackSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7E806C73-B2A4-4BC5-BDAD-2249D87F67FC")

+    IUpdaterInternalCallbackSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallbackSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallbackSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallbackSystem * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackSystemVtbl;

+

+    interface IUpdaterInternalCallbackSystem

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallbackSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallbackSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallbackSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallbackSystem_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallbackSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_INTERFACE_DEFINED__

+#define __IUpdaterInternal_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternal */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternal;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("526DA036-9BD3-4697-865A-DA12D37DFFCA")

+    IUpdaterInternal : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternal * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalVtbl;

+

+    interface IUpdaterInternal

+    {

+        CONST_VTBL struct IUpdaterInternalVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternal_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternal_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternal_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternal_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternal_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternal_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalSystem_INTERFACE_DEFINED__

+#define __IUpdaterInternalSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("E690EB97-6E46-4361-AF8F-90A4F5496475")

+    IUpdaterInternalSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallbackSystem *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalSystem * This,

+            /* [in] */ IUpdaterInternalCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalSystem, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternalSystem * This,

+            /* [in] */ IUpdaterInternalCallbackSystem *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalSystemVtbl;

+

+    interface IUpdaterInternalSystem

+    {

+        CONST_VTBL struct IUpdaterInternalSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalSystem_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternalSystem_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalSystem_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterInternalLib_LIBRARY_DEFINED__

+#define __UpdaterInternalLib_LIBRARY_DEFINED__

+

+/* library UpdaterInternalLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterInternalLib;

+

+EXTERN_C const CLSID CLSID_UpdaterInternalUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("1F87FE2F-D6A9-4711-9D11-8187705F8457")

+UpdaterInternalUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterInternalSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("4556BA55-517E-4F03-8016-331A43C269C9")

+UpdaterInternalSystemClass;

+#endif

+#endif /* __UpdaterInternalLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system.tlb
new file mode 100644
index 0000000..181d6db
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system_i.c
new file mode 100644
index 0000000..7a7c746
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system_i.c
@@ -0,0 +1,97 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallback,0xD272C794,0x2ACE,0x4584,0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallbackSystem,0x7E806C73,0xB2A4,0x4BC5,0xBD,0xAD,0x22,0x49,0xD8,0x7F,0x67,0xFC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternal,0x526DA036,0x9BD3,0x4697,0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalSystem,0xE690EB97,0x6E46,0x4361,0xAF,0x8F,0x90,0xA4,0xF5,0x49,0x64,0x75);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterInternalLib,0xC6CE92DB,0x72CA,0x42EF,0x8C,0x98,0x6E,0xE9,0x24,0x81,0xB3,0xC9);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalUserClass,0x1F87FE2F,0xD6A9,0x4711,0x9D,0x11,0x81,0x87,0x70,0x5F,0x84,0x57);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalSystemClass,0x4556BA55,0x517E,0x4F03,0x80,0x16,0x33,0x1A,0x43,0xC2,0x69,0xC9);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system_p.c
new file mode 100644
index 0000000..60199303
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_system_p.c
@@ -0,0 +1,724 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_ARM64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_internal_idl_system.h"

+

+#define TYPE_FORMAT_STRING_SIZE   39                                

+#define PROC_FORMAT_STRING_SIZE   211                               

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   0            

+

+typedef struct _updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_system_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_system_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_system_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_system_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING updater_internal_idl_system__MIDL_TypeFormatString;

+extern const updater_internal_idl_system_MIDL_PROC_FORMAT_STRING updater_internal_idl_system__MIDL_ProcFormatString;

+extern const updater_internal_idl_system_MIDL_EXPR_FORMAT_STRING updater_internal_idl_system__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallbackSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalSystem_ProxyInfo;

+

+

+

+#if !defined(__RPC_ARM64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_internal_idl_system_MIDL_PROC_FORMAT_STRING updater_internal_idl_system__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 26 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 28 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 30 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 32 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 36 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 38 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 40 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 42 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 44 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 50 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 52 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 54 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 56 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 58 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 64 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 66 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 68 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 70 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 72 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 74 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 76 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 78 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 80 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 82 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 84 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 86 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 90 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 92 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 96 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 98 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 100 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 104 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 108 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 110 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 112 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 114 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 116 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 118 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 120 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 122 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 124 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 126 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 128 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 132 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 134 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 136 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 138 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 140 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 142 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 144 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 146 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 148 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 150 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 152 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 154 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 156 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 158 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 160 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 162 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 164 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 166 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 168 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 170 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 174 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 176 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 178 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 180 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 182 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 184 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 186 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 188 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 190 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 192 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 194 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 196 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 198 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 200 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 202 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 204 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 206 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 208 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING updater_internal_idl_system__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/*  4 */	NdrFcLong( 0xd272c794 ),	/* -764229740 */

+/*  8 */	NdrFcShort( 0x2ace ),	/* 10958 */

+/* 10 */	NdrFcShort( 0x4584 ),	/* 17796 */

+/* 12 */	0xb9,		/* 185 */

+			0x93,		/* 147 */

+/* 14 */	0x3b,		/* 59 */

+			0x90,		/* 144 */

+/* 16 */	0xc6,		/* 198 */

+			0x22,		/* 34 */

+/* 18 */	0xbe,		/* 190 */

+			0x65,		/* 101 */

+/* 20 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 22 */	NdrFcLong( 0x7e806c73 ),	/* 2122345587 */

+/* 26 */	NdrFcShort( 0xb2a4 ),	/* -19804 */

+/* 28 */	NdrFcShort( 0x4bc5 ),	/* 19397 */

+/* 30 */	0xbd,		/* 189 */

+			0xad,		/* 173 */

+/* 32 */	0x22,		/* 34 */

+			0x49,		/* 73 */

+/* 34 */	0xd8,		/* 216 */

+			0x7f,		/* 127 */

+/* 36 */	0x67,		/* 103 */

+			0xfc,		/* 252 */

+

+			0x0

+        }

+    };

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterInternalCallback, ver. 0.0,

+   GUID={0xD272C794,0x2ACE,0x4584,{0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallback_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackProxyVtbl = 

+{

+    &IUpdaterInternalCallback_ProxyInfo,

+    &IID_IUpdaterInternalCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackStubVtbl =

+{

+    &IID_IUpdaterInternalCallback,

+    &IUpdaterInternalCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalCallbackSystem, ver. 0.0,

+   GUID={0x7E806C73,0xB2A4,0x4BC5,{0xBD,0xAD,0x22,0x49,0xD8,0x7F,0x67,0xFC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallbackSystem_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallbackSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackSystemProxyVtbl = 

+{

+    &IUpdaterInternalCallbackSystem_ProxyInfo,

+    &IID_IUpdaterInternalCallbackSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallbackSystem::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackSystemStubVtbl =

+{

+    &IID_IUpdaterInternalCallbackSystem,

+    &IUpdaterInternalCallbackSystem_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternal, ver. 0.0,

+   GUID={0x526DA036,0x9BD3,0x4697,{0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternal_FormatStringOffsetTable[] =

+    {

+    42,

+    84

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalProxyVtbl = 

+{

+    &IUpdaterInternal_ProxyInfo,

+    &IID_IUpdaterInternal,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalStubVtbl =

+{

+    &IID_IUpdaterInternal,

+    &IUpdaterInternal_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalSystem, ver. 0.0,

+   GUID={0xE690EB97,0x6E46,0x4361,{0xAF,0x8F,0x90,0xA4,0xF5,0x49,0x64,0x75}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalSystem_FormatStringOffsetTable[] =

+    {

+    126,

+    168

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalSystemProxyVtbl = 

+{

+    &IUpdaterInternalSystem_ProxyInfo,

+    &IID_IUpdaterInternalSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalSystem::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalSystem::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalSystemStubVtbl =

+{

+    &IID_IUpdaterInternalSystem,

+    &IUpdaterInternalSystem_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_internal_idl_system__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    0,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_internal_idl_system_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalSystemProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_internal_idl_system_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalSystemStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_internal_idl_system_InterfaceNamesList[] = 

+{

+    "IUpdaterInternal",

+    "IUpdaterInternalCallbackSystem",

+    "IUpdaterInternalCallback",

+    "IUpdaterInternalSystem",

+    0

+};

+

+

+#define _updater_internal_idl_system_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_internal_idl_system, pIID, n)

+

+int __stdcall _updater_internal_idl_system_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_internal_idl_system, 4, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_internal_idl_system, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_internal_idl_system, 4, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_internal_idl_system_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_internal_idl_system_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_internal_idl_system_StubVtblList,

+    (const PCInterfaceName * ) & _updater_internal_idl_system_InterfaceNamesList,

+    0, /* no delegation */

+    & _updater_internal_idl_system_IID_Lookup, 

+    4,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_ARM64) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user.dlldata.c
new file mode 100644
index 0000000..44053a66
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user.dlldata.c
@@ -0,0 +1,37 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_internal_idl_user )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_internal_idl_user ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user.h
new file mode 100644
index 0000000..fd57bf1
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user.h
@@ -0,0 +1,528 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_internal_idl_user_h__

+#define __updater_internal_idl_user_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdaterInternalCallback_FWD_DEFINED__

+#define __IUpdaterInternalCallback_FWD_DEFINED__

+typedef interface IUpdaterInternalCallback IUpdaterInternalCallback;

+

+#endif 	/* __IUpdaterInternalCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackUser_FWD_DEFINED__

+#define __IUpdaterInternalCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackUser IUpdaterInternalCallbackUser;

+

+#endif 	/* __IUpdaterInternalCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_FWD_DEFINED__

+#define __IUpdaterInternal_FWD_DEFINED__

+typedef interface IUpdaterInternal IUpdaterInternal;

+

+#endif 	/* __IUpdaterInternal_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalUser_FWD_DEFINED__

+#define __IUpdaterInternalUser_FWD_DEFINED__

+typedef interface IUpdaterInternalUser IUpdaterInternalUser;

+

+#endif 	/* __IUpdaterInternalUser_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalUserClass_FWD_DEFINED__

+#define __UpdaterInternalUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalUserClass UpdaterInternalUserClass;

+#else

+typedef struct UpdaterInternalUserClass UpdaterInternalUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalSystemClass_FWD_DEFINED__

+#define __UpdaterInternalSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#else

+typedef struct UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackUser_FWD_DEFINED__

+#define __IUpdaterInternalCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackUser IUpdaterInternalCallbackUser;

+

+#endif 	/* __IUpdaterInternalCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalUser_FWD_DEFINED__

+#define __IUpdaterInternalUser_FWD_DEFINED__

+typedef interface IUpdaterInternalUser IUpdaterInternalUser;

+

+#endif 	/* __IUpdaterInternalUser_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdaterInternalCallback_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("D272C794-2ACE-4584-B993-3B90C622BE65")

+    IUpdaterInternalCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackVtbl;

+

+    interface IUpdaterInternalCallback

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackUser_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallbackUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallbackUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallbackUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("618D9B82-9F51-4490-AF24-BB80489E1537")

+    IUpdaterInternalCallbackUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallbackUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallbackUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallbackUser * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackUserVtbl;

+

+    interface IUpdaterInternalCallbackUser

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallbackUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallbackUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallbackUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallbackUser_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallbackUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_INTERFACE_DEFINED__

+#define __IUpdaterInternal_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternal */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternal;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("526DA036-9BD3-4697-865A-DA12D37DFFCA")

+    IUpdaterInternal : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternal * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalVtbl;

+

+    interface IUpdaterInternal

+    {

+        CONST_VTBL struct IUpdaterInternalVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternal_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternal_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternal_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternal_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternal_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternal_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalUser_INTERFACE_DEFINED__

+#define __IUpdaterInternalUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("C82AFDA3-CA76-46EE-96E9-474717BFA7BA")

+    IUpdaterInternalUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallbackUser *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalUser * This,

+            /* [in] */ IUpdaterInternalCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalUser, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternalUser * This,

+            /* [in] */ IUpdaterInternalCallbackUser *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalUserVtbl;

+

+    interface IUpdaterInternalUser

+    {

+        CONST_VTBL struct IUpdaterInternalUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalUser_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternalUser_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalUser_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterInternalLib_LIBRARY_DEFINED__

+#define __UpdaterInternalLib_LIBRARY_DEFINED__

+

+/* library UpdaterInternalLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterInternalLib;

+

+EXTERN_C const CLSID CLSID_UpdaterInternalUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("1F87FE2F-D6A9-4711-9D11-8187705F8457")

+UpdaterInternalUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterInternalSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("4556BA55-517E-4F03-8016-331A43C269C9")

+UpdaterInternalSystemClass;

+#endif

+#endif /* __UpdaterInternalLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user.tlb
new file mode 100644
index 0000000..27b483b
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user_i.c
new file mode 100644
index 0000000..94daa4a
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user_i.c
@@ -0,0 +1,97 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallback,0xD272C794,0x2ACE,0x4584,0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallbackUser,0x618D9B82,0x9F51,0x4490,0xAF,0x24,0xBB,0x80,0x48,0x9E,0x15,0x37);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternal,0x526DA036,0x9BD3,0x4697,0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalUser,0xC82AFDA3,0xCA76,0x46EE,0x96,0xE9,0x47,0x47,0x17,0xBF,0xA7,0xBA);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterInternalLib,0xC6CE92DB,0x72CA,0x42EF,0x8C,0x98,0x6E,0xE9,0x24,0x81,0xB3,0xC9);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalUserClass,0x1F87FE2F,0xD6A9,0x4711,0x9D,0x11,0x81,0x87,0x70,0x5F,0x84,0x57);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalSystemClass,0x4556BA55,0x517E,0x4F03,0x80,0x16,0x33,0x1A,0x43,0xC2,0x69,0xC9);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user_p.c
new file mode 100644
index 0000000..0d6949b6
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_internal_idl_user_p.c
@@ -0,0 +1,724 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_ARM64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_internal_idl_user.h"

+

+#define TYPE_FORMAT_STRING_SIZE   39                                

+#define PROC_FORMAT_STRING_SIZE   211                               

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   0            

+

+typedef struct _updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_user_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_user_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_user_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_user_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING updater_internal_idl_user__MIDL_TypeFormatString;

+extern const updater_internal_idl_user_MIDL_PROC_FORMAT_STRING updater_internal_idl_user__MIDL_ProcFormatString;

+extern const updater_internal_idl_user_MIDL_EXPR_FORMAT_STRING updater_internal_idl_user__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallbackUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalUser_ProxyInfo;

+

+

+

+#if !defined(__RPC_ARM64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_internal_idl_user_MIDL_PROC_FORMAT_STRING updater_internal_idl_user__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 26 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 28 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 30 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 32 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 36 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 38 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 40 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 42 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 44 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 50 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 52 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 54 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 56 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 58 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 64 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 66 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 68 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 70 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 72 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 74 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 76 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 78 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 80 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 82 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 84 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 86 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 90 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 92 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 96 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 98 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 100 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 104 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 108 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 110 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 112 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 114 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 116 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 118 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 120 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 122 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 124 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 126 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 128 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 132 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 134 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 136 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 138 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 140 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 142 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 144 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 146 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 148 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 150 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 152 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 154 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 156 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 158 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 160 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 162 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 164 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 166 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 168 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 170 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 174 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 176 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 178 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 180 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 182 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 184 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 186 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 188 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 190 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 192 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 194 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 196 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter callback */

+

+/* 198 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 200 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 202 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 204 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 206 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 208 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING updater_internal_idl_user__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/*  4 */	NdrFcLong( 0xd272c794 ),	/* -764229740 */

+/*  8 */	NdrFcShort( 0x2ace ),	/* 10958 */

+/* 10 */	NdrFcShort( 0x4584 ),	/* 17796 */

+/* 12 */	0xb9,		/* 185 */

+			0x93,		/* 147 */

+/* 14 */	0x3b,		/* 59 */

+			0x90,		/* 144 */

+/* 16 */	0xc6,		/* 198 */

+			0x22,		/* 34 */

+/* 18 */	0xbe,		/* 190 */

+			0x65,		/* 101 */

+/* 20 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 22 */	NdrFcLong( 0x618d9b82 ),	/* 1636670338 */

+/* 26 */	NdrFcShort( 0x9f51 ),	/* -24751 */

+/* 28 */	NdrFcShort( 0x4490 ),	/* 17552 */

+/* 30 */	0xaf,		/* 175 */

+			0x24,		/* 36 */

+/* 32 */	0xbb,		/* 187 */

+			0x80,		/* 128 */

+/* 34 */	0x48,		/* 72 */

+			0x9e,		/* 158 */

+/* 36 */	0x15,		/* 21 */

+			0x37,		/* 55 */

+

+			0x0

+        }

+    };

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterInternalCallback, ver. 0.0,

+   GUID={0xD272C794,0x2ACE,0x4584,{0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallback_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackProxyVtbl = 

+{

+    &IUpdaterInternalCallback_ProxyInfo,

+    &IID_IUpdaterInternalCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackStubVtbl =

+{

+    &IID_IUpdaterInternalCallback,

+    &IUpdaterInternalCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalCallbackUser, ver. 0.0,

+   GUID={0x618D9B82,0x9F51,0x4490,{0xAF,0x24,0xBB,0x80,0x48,0x9E,0x15,0x37}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallbackUser_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallbackUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackUserProxyVtbl = 

+{

+    &IUpdaterInternalCallbackUser_ProxyInfo,

+    &IID_IUpdaterInternalCallbackUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallbackUser::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackUserStubVtbl =

+{

+    &IID_IUpdaterInternalCallbackUser,

+    &IUpdaterInternalCallbackUser_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternal, ver. 0.0,

+   GUID={0x526DA036,0x9BD3,0x4697,{0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternal_FormatStringOffsetTable[] =

+    {

+    42,

+    84

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalProxyVtbl = 

+{

+    &IUpdaterInternal_ProxyInfo,

+    &IID_IUpdaterInternal,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalStubVtbl =

+{

+    &IID_IUpdaterInternal,

+    &IUpdaterInternal_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalUser, ver. 0.0,

+   GUID={0xC82AFDA3,0xCA76,0x46EE,{0x96,0xE9,0x47,0x47,0x17,0xBF,0xA7,0xBA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalUser_FormatStringOffsetTable[] =

+    {

+    126,

+    168

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalUserProxyVtbl = 

+{

+    &IUpdaterInternalUser_ProxyInfo,

+    &IID_IUpdaterInternalUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalUser::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalUser::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalUserStubVtbl =

+{

+    &IID_IUpdaterInternalUser,

+    &IUpdaterInternalUser_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_internal_idl_user__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    0,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_internal_idl_user_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalUserProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_internal_idl_user_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalUserStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_internal_idl_user_InterfaceNamesList[] = 

+{

+    "IUpdaterInternal",

+    "IUpdaterInternalCallbackUser",

+    "IUpdaterInternalCallback",

+    "IUpdaterInternalUser",

+    0

+};

+

+

+#define _updater_internal_idl_user_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_internal_idl_user, pIID, n)

+

+int __stdcall _updater_internal_idl_user_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_internal_idl_user, 4, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_internal_idl_user, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_internal_idl_user, 4, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_internal_idl_user_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_internal_idl_user_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_internal_idl_user_StubVtblList,

+    (const PCInterfaceName * ) & _updater_internal_idl_user_InterfaceNamesList,

+    0, /* no delegation */

+    & _updater_internal_idl_user_IID_Lookup, 

+    4,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_ARM64) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system.dlldata.c
new file mode 100644
index 0000000..40028e6c
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_legacy_idl_system )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_legacy_idl_system ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system.h
new file mode 100644
index 0000000..e2d5134
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system.h
@@ -0,0 +1,5519 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_legacy_idl_system_h__

+#define __updater_legacy_idl_system_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebSystem_FWD_DEFINED__

+#define __IAppVersionWebSystem_FWD_DEFINED__

+typedef interface IAppVersionWebSystem IAppVersionWebSystem;

+

+#endif 	/* __IAppVersionWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateSystem_FWD_DEFINED__

+#define __ICurrentStateSystem_FWD_DEFINED__

+typedef interface ICurrentStateSystem ICurrentStateSystem;

+

+#endif 	/* __ICurrentStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebSystem_FWD_DEFINED__

+#define __IGoogleUpdate3WebSystem_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebSystem IGoogleUpdate3WebSystem;

+

+#endif 	/* __IGoogleUpdate3WebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebSystem_FWD_DEFINED__

+#define __IAppBundleWebSystem_FWD_DEFINED__

+typedef interface IAppBundleWebSystem IAppBundleWebSystem;

+

+#endif 	/* __IAppBundleWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebSystem_FWD_DEFINED__

+#define __IAppWebSystem_FWD_DEFINED__

+typedef interface IAppWebSystem IAppWebSystem;

+

+#endif 	/* __IAppWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebSystem_FWD_DEFINED__

+#define __IAppCommandWebSystem_FWD_DEFINED__

+typedef interface IAppCommandWebSystem IAppCommandWebSystem;

+

+#endif 	/* __IAppCommandWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusSystem_FWD_DEFINED__

+#define __IPolicyStatusSystem_FWD_DEFINED__

+typedef interface IPolicyStatusSystem IPolicyStatusSystem;

+

+#endif 	/* __IPolicyStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueSystem_FWD_DEFINED__

+#define __IPolicyStatusValueSystem_FWD_DEFINED__

+typedef interface IPolicyStatusValueSystem IPolicyStatusValueSystem;

+

+#endif 	/* __IPolicyStatusValueSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2System_FWD_DEFINED__

+#define __IPolicyStatus2System_FWD_DEFINED__

+typedef interface IPolicyStatus2System IPolicyStatus2System;

+

+#endif 	/* __IPolicyStatus2System_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3System_FWD_DEFINED__

+#define __IPolicyStatus3System_FWD_DEFINED__

+typedef interface IPolicyStatus3System IPolicyStatus3System;

+

+#endif 	/* __IPolicyStatus3System_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher_FWD_DEFINED__

+#define __IProcessLauncher_FWD_DEFINED__

+typedef interface IProcessLauncher IProcessLauncher;

+

+#endif 	/* __IProcessLauncher_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher2_FWD_DEFINED__

+#define __IProcessLauncher2_FWD_DEFINED__

+typedef interface IProcessLauncher2 IProcessLauncher2;

+

+#endif 	/* __IProcessLauncher2_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebUserClass_FWD_DEFINED__

+#define __GoogleUpdate3WebUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#else

+typedef struct GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebUserClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+#define __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#else

+typedef struct GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+#define __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#else

+typedef struct GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebServiceClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusUserClass_FWD_DEFINED__

+#define __PolicyStatusUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusUserClass PolicyStatusUserClass;

+#else

+typedef struct PolicyStatusUserClass PolicyStatusUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusUserClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusSystemClass_FWD_DEFINED__

+#define __PolicyStatusSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusSystemClass PolicyStatusSystemClass;

+#else

+typedef struct PolicyStatusSystemClass PolicyStatusSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __ProcessLauncherClass_FWD_DEFINED__

+#define __ProcessLauncherClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class ProcessLauncherClass ProcessLauncherClass;

+#else

+typedef struct ProcessLauncherClass ProcessLauncherClass;

+#endif /* __cplusplus */

+

+#endif 	/* __ProcessLauncherClass_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebSystem_FWD_DEFINED__

+#define __IAppVersionWebSystem_FWD_DEFINED__

+typedef interface IAppVersionWebSystem IAppVersionWebSystem;

+

+#endif 	/* __IAppVersionWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateSystem_FWD_DEFINED__

+#define __ICurrentStateSystem_FWD_DEFINED__

+typedef interface ICurrentStateSystem ICurrentStateSystem;

+

+#endif 	/* __ICurrentStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebSystem_FWD_DEFINED__

+#define __IGoogleUpdate3WebSystem_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebSystem IGoogleUpdate3WebSystem;

+

+#endif 	/* __IGoogleUpdate3WebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebSystem_FWD_DEFINED__

+#define __IAppBundleWebSystem_FWD_DEFINED__

+typedef interface IAppBundleWebSystem IAppBundleWebSystem;

+

+#endif 	/* __IAppBundleWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebSystem_FWD_DEFINED__

+#define __IAppWebSystem_FWD_DEFINED__

+typedef interface IAppWebSystem IAppWebSystem;

+

+#endif 	/* __IAppWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebSystem_FWD_DEFINED__

+#define __IAppCommandWebSystem_FWD_DEFINED__

+typedef interface IAppCommandWebSystem IAppCommandWebSystem;

+

+#endif 	/* __IAppCommandWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusSystem_FWD_DEFINED__

+#define __IPolicyStatusSystem_FWD_DEFINED__

+typedef interface IPolicyStatusSystem IPolicyStatusSystem;

+

+#endif 	/* __IPolicyStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueSystem_FWD_DEFINED__

+#define __IPolicyStatusValueSystem_FWD_DEFINED__

+typedef interface IPolicyStatusValueSystem IPolicyStatusValueSystem;

+

+#endif 	/* __IPolicyStatusValueSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2System_FWD_DEFINED__

+#define __IPolicyStatus2System_FWD_DEFINED__

+typedef interface IPolicyStatus2System IPolicyStatus2System;

+

+#endif 	/* __IPolicyStatus2System_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3System_FWD_DEFINED__

+#define __IPolicyStatus3System_FWD_DEFINED__

+typedef interface IPolicyStatus3System IPolicyStatus3System;

+

+#endif 	/* __IPolicyStatus3System_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher_FWD_DEFINED__

+#define __IProcessLauncher_FWD_DEFINED__

+typedef interface IProcessLauncher IProcessLauncher;

+

+#endif 	/* __IProcessLauncher_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher2_FWD_DEFINED__

+#define __IProcessLauncher2_FWD_DEFINED__

+typedef interface IProcessLauncher2 IProcessLauncher2;

+

+#endif 	/* __IProcessLauncher2_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+/* interface __MIDL_itf_updater_legacy_idl_system_0000_0000 */

+/* [local] */ 

+

+typedef 

+enum CurrentState

+    {

+        STATE_INIT	= 1,

+        STATE_WAITING_TO_CHECK_FOR_UPDATE	= 2,

+        STATE_CHECKING_FOR_UPDATE	= 3,

+        STATE_UPDATE_AVAILABLE	= 4,

+        STATE_WAITING_TO_DOWNLOAD	= 5,

+        STATE_RETRYING_DOWNLOAD	= 6,

+        STATE_DOWNLOADING	= 7,

+        STATE_DOWNLOAD_COMPLETE	= 8,

+        STATE_EXTRACTING	= 9,

+        STATE_APPLYING_DIFFERENTIAL_PATCH	= 10,

+        STATE_READY_TO_INSTALL	= 11,

+        STATE_WAITING_TO_INSTALL	= 12,

+        STATE_INSTALLING	= 13,

+        STATE_INSTALL_COMPLETE	= 14,

+        STATE_PAUSED	= 15,

+        STATE_NO_UPDATE	= 16,

+        STATE_ERROR	= 17

+    } 	CurrentState;

+

+

+enum AppCommandStatus

+    {

+        COMMAND_STATUS_INIT	= 1,

+        COMMAND_STATUS_RUNNING	= 2,

+        COMMAND_STATUS_ERROR	= 3,

+        COMMAND_STATUS_COMPLETE	= 4

+    } ;

+

+

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_system_0000_0000_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_system_0000_0000_v0_0_s_ifspec;

+

+#ifndef __IAppVersionWeb_INTERFACE_DEFINED__

+#define __IAppVersionWeb_INTERFACE_DEFINED__

+

+/* interface IAppVersionWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AA10D17D-7A09-48AC-B1E4-F124937E3D26")

+    IAppVersionWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWeb * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebVtbl;

+

+    interface IAppVersionWeb

+    {

+        CONST_VTBL struct IAppVersionWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWeb_get_version(This,__MIDL__IAppVersionWeb0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWeb0000) ) 

+

+#define IAppVersionWeb_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWeb_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppVersionWebSystem_INTERFACE_DEFINED__

+#define __IAppVersionWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppVersionWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("9367601E-C100-4702-8755-808D6BB385D8")

+    IAppVersionWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebSystem, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebSystem, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWebSystem * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebSystem, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebSystemVtbl;

+

+    interface IAppVersionWebSystem

+    {

+        CONST_VTBL struct IAppVersionWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWebSystem_get_version(This,__MIDL__IAppVersionWebSystem0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWebSystem0000) ) 

+

+#define IAppVersionWebSystem_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWebSystem_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentState_INTERFACE_DEFINED__

+#define __ICurrentState_INTERFACE_DEFINED__

+

+/* interface ICurrentState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A643508B-B1E3-4457-9769-32C953BD1D57")

+    ICurrentState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentState * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015);

+        

+        END_INTERFACE

+    } ICurrentStateVtbl;

+

+    interface ICurrentState

+    {

+        CONST_VTBL struct ICurrentStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentState_get_stateValue(This,__MIDL__ICurrentState0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentState0000) ) 

+

+#define ICurrentState_get_availableVersion(This,__MIDL__ICurrentState0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentState0001) ) 

+

+#define ICurrentState_get_bytesDownloaded(This,__MIDL__ICurrentState0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentState0002) ) 

+

+#define ICurrentState_get_totalBytesToDownload(This,__MIDL__ICurrentState0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentState0003) ) 

+

+#define ICurrentState_get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004) ) 

+

+#define ICurrentState_get_nextRetryTime(This,__MIDL__ICurrentState0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentState0005) ) 

+

+#define ICurrentState_get_installProgress(This,__MIDL__ICurrentState0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentState0006) ) 

+

+#define ICurrentState_get_installTimeRemainingMs(This,__MIDL__ICurrentState0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentState0007) ) 

+

+#define ICurrentState_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentState_get_errorCode(This,__MIDL__ICurrentState0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentState0008) ) 

+

+#define ICurrentState_get_extraCode1(This,__MIDL__ICurrentState0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentState0009) ) 

+

+#define ICurrentState_get_completionMessage(This,__MIDL__ICurrentState0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentState0010) ) 

+

+#define ICurrentState_get_installerResultCode(This,__MIDL__ICurrentState0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentState0011) ) 

+

+#define ICurrentState_get_installerResultExtraCode1(This,__MIDL__ICurrentState0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentState0012) ) 

+

+#define ICurrentState_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013) ) 

+

+#define ICurrentState_get_postInstallUrl(This,__MIDL__ICurrentState0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentState0014) ) 

+

+#define ICurrentState_get_postInstallAction(This,__MIDL__ICurrentState0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentState0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentState_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentStateSystem_INTERFACE_DEFINED__

+#define __ICurrentStateSystem_INTERFACE_DEFINED__

+

+/* interface ICurrentStateSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentStateSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("71CBC6BB-CA4B-4B5A-83C0-FC95F9CA6A30")

+    ICurrentStateSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateSystem0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentStateSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentStateSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentStateSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateSystem0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0015);

+        

+        END_INTERFACE

+    } ICurrentStateSystemVtbl;

+

+    interface ICurrentStateSystem

+    {

+        CONST_VTBL struct ICurrentStateSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentStateSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentStateSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentStateSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentStateSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentStateSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentStateSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentStateSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentStateSystem_get_stateValue(This,__MIDL__ICurrentStateSystem0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentStateSystem0000) ) 

+

+#define ICurrentStateSystem_get_availableVersion(This,__MIDL__ICurrentStateSystem0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentStateSystem0001) ) 

+

+#define ICurrentStateSystem_get_bytesDownloaded(This,__MIDL__ICurrentStateSystem0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentStateSystem0002) ) 

+

+#define ICurrentStateSystem_get_totalBytesToDownload(This,__MIDL__ICurrentStateSystem0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentStateSystem0003) ) 

+

+#define ICurrentStateSystem_get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateSystem0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateSystem0004) ) 

+

+#define ICurrentStateSystem_get_nextRetryTime(This,__MIDL__ICurrentStateSystem0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentStateSystem0005) ) 

+

+#define ICurrentStateSystem_get_installProgress(This,__MIDL__ICurrentStateSystem0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentStateSystem0006) ) 

+

+#define ICurrentStateSystem_get_installTimeRemainingMs(This,__MIDL__ICurrentStateSystem0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentStateSystem0007) ) 

+

+#define ICurrentStateSystem_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentStateSystem_get_errorCode(This,__MIDL__ICurrentStateSystem0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentStateSystem0008) ) 

+

+#define ICurrentStateSystem_get_extraCode1(This,__MIDL__ICurrentStateSystem0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentStateSystem0009) ) 

+

+#define ICurrentStateSystem_get_completionMessage(This,__MIDL__ICurrentStateSystem0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentStateSystem0010) ) 

+

+#define ICurrentStateSystem_get_installerResultCode(This,__MIDL__ICurrentStateSystem0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentStateSystem0011) ) 

+

+#define ICurrentStateSystem_get_installerResultExtraCode1(This,__MIDL__ICurrentStateSystem0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentStateSystem0012) ) 

+

+#define ICurrentStateSystem_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateSystem0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateSystem0013) ) 

+

+#define ICurrentStateSystem_get_postInstallUrl(This,__MIDL__ICurrentStateSystem0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentStateSystem0014) ) 

+

+#define ICurrentStateSystem_get_postInstallAction(This,__MIDL__ICurrentStateSystem0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentStateSystem0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentStateSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_INTERFACE_DEFINED__

+#define __IGoogleUpdate3Web_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3Web */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3Web;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A35E1C5E-0A18-4FF1-8C4D-DD8ED07B0BD0")

+    IGoogleUpdate3Web : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3Web * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3Web * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3Web, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3Web * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebVtbl;

+

+    interface IGoogleUpdate3Web

+    {

+        CONST_VTBL struct IGoogleUpdate3WebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3Web_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3Web_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3Web_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3Web_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3Web_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3Web_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3Web_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3Web_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3Web_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebSystem_INTERFACE_DEFINED__

+#define __IGoogleUpdate3WebSystem_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3WebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3WebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AE5F8C9D-B94D-4367-A422-D1DC4E913A52")

+    IGoogleUpdate3WebSystem : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3WebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3WebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3WebSystem, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebSystemVtbl;

+

+    interface IGoogleUpdate3WebSystem

+    {

+        CONST_VTBL struct IGoogleUpdate3WebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3WebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3WebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3WebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3WebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3WebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3WebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3WebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3WebSystem_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3WebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_INTERFACE_DEFINED__

+#define __IAppBundleWeb_INTERFACE_DEFINED__

+

+/* interface IAppBundleWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("0569DBB9-BAA0-48D5-8543-0F3BE30A1648")

+    IAppBundleWeb : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWeb * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWeb * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebVtbl;

+

+    interface IAppBundleWeb

+    {

+        CONST_VTBL struct IAppBundleWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWeb_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWeb_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWeb_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWeb_get_displayLanguage(This,__MIDL__IAppBundleWeb0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWeb0000) ) 

+

+#define IAppBundleWeb_put_displayLanguage(This,__MIDL__IAppBundleWeb0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWeb0001) ) 

+

+#define IAppBundleWeb_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWeb_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWeb_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWeb_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWeb_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWeb_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWeb_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWeb_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWeb_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWeb_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWebSystem_INTERFACE_DEFINED__

+#define __IAppBundleWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppBundleWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("BFFD766D-A2DD-436E-89FA-BF05BC5B5958")

+    IAppBundleWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebSystem0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWebSystem0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWebSystem0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWebSystem * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWebSystem * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebSystemVtbl;

+

+    interface IAppBundleWebSystem

+    {

+        CONST_VTBL struct IAppBundleWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWebSystem_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWebSystem_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWebSystem_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWebSystem_get_displayLanguage(This,__MIDL__IAppBundleWebSystem0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWebSystem0000) ) 

+

+#define IAppBundleWebSystem_put_displayLanguage(This,__MIDL__IAppBundleWebSystem0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWebSystem0001) ) 

+

+#define IAppBundleWebSystem_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWebSystem_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWebSystem_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWebSystem_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWebSystem_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWebSystem_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWebSystem_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWebSystem_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWebSystem_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWebSystem_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWebSystem_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWebSystem_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWeb_INTERFACE_DEFINED__

+#define __IAppWeb_INTERFACE_DEFINED__

+

+/* interface IAppWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("63D941DE-F67B-4E15-8A90-27881DA9EF4A")

+    IAppWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWeb0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWeb * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [in] */ BSTR __MIDL__IAppWeb0002);

+        

+        END_INTERFACE

+    } IAppWebVtbl;

+

+    interface IAppWeb

+    {

+        CONST_VTBL struct IAppWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWeb_get_appId(This,__MIDL__IAppWeb0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWeb0000) ) 

+

+#define IAppWeb_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWeb_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWeb_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWeb_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWeb_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWeb_get_serverInstallDataIndex(This,__MIDL__IAppWeb0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWeb0001) ) 

+

+#define IAppWeb_put_serverInstallDataIndex(This,__MIDL__IAppWeb0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWeb0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWebSystem_INTERFACE_DEFINED__

+#define __IAppWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("540B227A-F442-45D5-BA52-298A05BAF1A8")

+    IAppWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWebSystem0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWebSystem * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0001);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWebSystem * This,

+            /* [in] */ BSTR __MIDL__IAppWebSystem0002);

+        

+        END_INTERFACE

+    } IAppWebSystemVtbl;

+

+    interface IAppWebSystem

+    {

+        CONST_VTBL struct IAppWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWebSystem_get_appId(This,__MIDL__IAppWebSystem0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWebSystem0000) ) 

+

+#define IAppWebSystem_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWebSystem_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWebSystem_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWebSystem_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWebSystem_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWebSystem_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWebSystem_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWebSystem_get_serverInstallDataIndex(This,__MIDL__IAppWebSystem0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWebSystem0001) ) 

+

+#define IAppWebSystem_put_serverInstallDataIndex(This,__MIDL__IAppWebSystem0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWebSystem0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_INTERFACE_DEFINED__

+#define __IAppCommandWeb_INTERFACE_DEFINED__

+

+/* interface IAppCommandWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("10A2D03F-8BC7-49DB-A21E-A7D4429D2759")

+    IAppCommandWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWeb * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebVtbl;

+

+    interface IAppCommandWeb

+    {

+        CONST_VTBL struct IAppCommandWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWeb_get_status(This,__MIDL__IAppCommandWeb0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWeb0000) ) 

+

+#define IAppCommandWeb_get_exitCode(This,__MIDL__IAppCommandWeb0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWeb0001) ) 

+

+#define IAppCommandWeb_get_output(This,__MIDL__IAppCommandWeb0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWeb0002) ) 

+

+#define IAppCommandWeb_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWebSystem_INTERFACE_DEFINED__

+#define __IAppCommandWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppCommandWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("C6E2C5D5-86FA-4A64-9D08-8C9B644F0E49")

+    IAppCommandWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebSystem0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWebSystem * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWebSystem * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebSystem0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebSystem0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWebSystem * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebSystemVtbl;

+

+    interface IAppCommandWebSystem

+    {

+        CONST_VTBL struct IAppCommandWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWebSystem_get_status(This,__MIDL__IAppCommandWebSystem0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWebSystem0000) ) 

+

+#define IAppCommandWebSystem_get_exitCode(This,__MIDL__IAppCommandWebSystem0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWebSystem0001) ) 

+

+#define IAppCommandWebSystem_get_output(This,__MIDL__IAppCommandWebSystem0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWebSystem0002) ) 

+

+#define IAppCommandWebSystem_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_INTERFACE_DEFINED__

+#define __IPolicyStatus_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("6A54FE75-EDC8-404E-A41B-4278C0557151")

+    IPolicyStatus : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusVtbl;

+

+    interface IPolicyStatus

+    {

+        CONST_VTBL struct IPolicyStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatus_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatus_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatus_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatus_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatus_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusSystem_INTERFACE_DEFINED__

+#define __IPolicyStatusSystem_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("F3964464-A939-44D3-9244-36BD2E3630B8")

+    IPolicyStatusSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatusSystem * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusSystemVtbl;

+

+    interface IPolicyStatusSystem

+    {

+        CONST_VTBL struct IPolicyStatusSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusSystem_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatusSystem_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatusSystem_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatusSystem_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatusSystem_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatusSystem_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatusSystem_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatusSystem_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatusSystem_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_INTERFACE_DEFINED__

+#define __IPolicyStatusValue_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValue */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValue;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2A7D2AE7-8EEE-45B4-B17F-31DAAC82CCBB")

+    IPolicyStatusValue : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValue * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValue * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValue * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueVtbl;

+

+    interface IPolicyStatusValue

+    {

+        CONST_VTBL struct IPolicyStatusValueVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValue_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValue_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValue_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValue_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValue_get_source(This,__MIDL__IPolicyStatusValue0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValue0000) ) 

+

+#define IPolicyStatusValue_get_value(This,__MIDL__IPolicyStatusValue0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValue0001) ) 

+

+#define IPolicyStatusValue_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValue_get_conflictSource(This,__MIDL__IPolicyStatusValue0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValue0002) ) 

+

+#define IPolicyStatusValue_get_conflictValue(This,__MIDL__IPolicyStatusValue0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValue0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValue_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueSystem_INTERFACE_DEFINED__

+#define __IPolicyStatusValueSystem_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValueSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValueSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("CC2CCD05-119C-44E1-852D-6DCC2DFB72EC")

+    IPolicyStatusValueSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValueSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValueSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValueSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValueSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValueSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValueSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValueSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueSystemVtbl;

+

+    interface IPolicyStatusValueSystem

+    {

+        CONST_VTBL struct IPolicyStatusValueSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValueSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValueSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValueSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValueSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValueSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValueSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValueSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValueSystem_get_source(This,__MIDL__IPolicyStatusValueSystem0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValueSystem0000) ) 

+

+#define IPolicyStatusValueSystem_get_value(This,__MIDL__IPolicyStatusValueSystem0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValueSystem0001) ) 

+

+#define IPolicyStatusValueSystem_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValueSystem_get_conflictSource(This,__MIDL__IPolicyStatusValueSystem0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValueSystem0002) ) 

+

+#define IPolicyStatusValueSystem_get_conflictValue(This,__MIDL__IPolicyStatusValueSystem0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValueSystem0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValueSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_INTERFACE_DEFINED__

+#define __IPolicyStatus2_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("06A6AA1E-2680-4076-A7CD-6053722CF454")

+    IPolicyStatus2 : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2Vtbl;

+

+    interface IPolicyStatus2

+    {

+        CONST_VTBL struct IPolicyStatus2Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2System_INTERFACE_DEFINED__

+#define __IPolicyStatus2System_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2System */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2System;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("F4A0362A-3702-48B8-9896-7D8013D03AB2")

+    IPolicyStatus2System : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValueSystem **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2SystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2System * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2System * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2System * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2System * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2System * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2System * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2System * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2System * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2System * This,

+            /* [out] */ IPolicyStatusValueSystem **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2SystemVtbl;

+

+    interface IPolicyStatus2System

+    {

+        CONST_VTBL struct IPolicyStatus2SystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2System_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2System_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2System_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2System_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2System_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2System_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2System_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2System_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2System_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2System_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2System_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2System_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2System_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2System_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2System_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2System_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2System_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2System_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2System_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2System_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_INTERFACE_DEFINED__

+#define __IPolicyStatus3_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("029BD175-5035-4E2A-8724-C9D47F4FAEA3")

+    IPolicyStatus3 : public IPolicyStatus2

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3 * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3Vtbl;

+

+    interface IPolicyStatus3

+    {

+        CONST_VTBL struct IPolicyStatus3Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3System_INTERFACE_DEFINED__

+#define __IPolicyStatus3System_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3System */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3System;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7B26CC23-B2B8-441B-AA9C-8B551ABB611B")

+    IPolicyStatus3System : public IPolicyStatus2System

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3SystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3System * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3System * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3System * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3System * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3System * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3System * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3System * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3System * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3System * This,

+            /* [out] */ IPolicyStatusValueSystem **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3System, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3System * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3SystemVtbl;

+

+    interface IPolicyStatus3System

+    {

+        CONST_VTBL struct IPolicyStatus3SystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3System_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3System_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3System_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3System_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3System_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3System_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3System_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3System_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3System_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3System_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3System_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3System_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3System_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3System_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3System_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3System_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3System_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3System_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3System_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3System_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3System_INTERFACE_DEFINED__ */

+

+

+#ifndef __IProcessLauncher_INTERFACE_DEFINED__

+#define __IProcessLauncher_INTERFACE_DEFINED__

+

+/* interface IProcessLauncher */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IProcessLauncher;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("4779D540-F6A3-455F-A929-7ADFE85B6F09")

+    IProcessLauncher : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE LaunchCmdLine( 

+            /* [string][in] */ const WCHAR *cmd_line) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE LaunchBrowser( 

+            /* [in] */ DWORD browser_type,

+            /* [string][in] */ const WCHAR *url) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE LaunchCmdElevated( 

+            /* [string][in] */ const WCHAR *app_guid,

+            /* [string][in] */ const WCHAR *cmd_id,

+            /* [in] */ DWORD caller_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IProcessLauncherVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IProcessLauncher * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IProcessLauncher * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IProcessLauncher * This);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdLine)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdLine )( 

+            IProcessLauncher * This,

+            /* [string][in] */ const WCHAR *cmd_line);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchBrowser)

+        HRESULT ( STDMETHODCALLTYPE *LaunchBrowser )( 

+            IProcessLauncher * This,

+            /* [in] */ DWORD browser_type,

+            /* [string][in] */ const WCHAR *url);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdElevated)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdElevated )( 

+            IProcessLauncher * This,

+            /* [string][in] */ const WCHAR *app_guid,

+            /* [string][in] */ const WCHAR *cmd_id,

+            /* [in] */ DWORD caller_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle);

+        

+        END_INTERFACE

+    } IProcessLauncherVtbl;

+

+    interface IProcessLauncher

+    {

+        CONST_VTBL struct IProcessLauncherVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IProcessLauncher_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IProcessLauncher_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IProcessLauncher_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IProcessLauncher_LaunchCmdLine(This,cmd_line)	\

+    ( (This)->lpVtbl -> LaunchCmdLine(This,cmd_line) ) 

+

+#define IProcessLauncher_LaunchBrowser(This,browser_type,url)	\

+    ( (This)->lpVtbl -> LaunchBrowser(This,browser_type,url) ) 

+

+#define IProcessLauncher_LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle)	\

+    ( (This)->lpVtbl -> LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IProcessLauncher_INTERFACE_DEFINED__ */

+

+

+#ifndef __IProcessLauncher2_INTERFACE_DEFINED__

+#define __IProcessLauncher2_INTERFACE_DEFINED__

+

+/* interface IProcessLauncher2 */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IProcessLauncher2;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("74F243B8-75D1-4E2D-BC89-5689798EEF3E")

+    IProcessLauncher2 : public IProcessLauncher

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE LaunchCmdLineEx( 

+            /* [string][in] */ const WCHAR *cmd_line,

+            /* [out] */ DWORD *server_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle,

+            /* [out] */ ULONG_PTR *stdout_handle) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IProcessLauncher2Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IProcessLauncher2 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IProcessLauncher2 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IProcessLauncher2 * This);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdLine)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdLine )( 

+            IProcessLauncher2 * This,

+            /* [string][in] */ const WCHAR *cmd_line);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchBrowser)

+        HRESULT ( STDMETHODCALLTYPE *LaunchBrowser )( 

+            IProcessLauncher2 * This,

+            /* [in] */ DWORD browser_type,

+            /* [string][in] */ const WCHAR *url);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdElevated)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdElevated )( 

+            IProcessLauncher2 * This,

+            /* [string][in] */ const WCHAR *app_guid,

+            /* [string][in] */ const WCHAR *cmd_id,

+            /* [in] */ DWORD caller_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher2, LaunchCmdLineEx)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdLineEx )( 

+            IProcessLauncher2 * This,

+            /* [string][in] */ const WCHAR *cmd_line,

+            /* [out] */ DWORD *server_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle,

+            /* [out] */ ULONG_PTR *stdout_handle);

+        

+        END_INTERFACE

+    } IProcessLauncher2Vtbl;

+

+    interface IProcessLauncher2

+    {

+        CONST_VTBL struct IProcessLauncher2Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IProcessLauncher2_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IProcessLauncher2_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IProcessLauncher2_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IProcessLauncher2_LaunchCmdLine(This,cmd_line)	\

+    ( (This)->lpVtbl -> LaunchCmdLine(This,cmd_line) ) 

+

+#define IProcessLauncher2_LaunchBrowser(This,browser_type,url)	\

+    ( (This)->lpVtbl -> LaunchBrowser(This,browser_type,url) ) 

+

+#define IProcessLauncher2_LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle)	\

+    ( (This)->lpVtbl -> LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle) ) 

+

+

+#define IProcessLauncher2_LaunchCmdLineEx(This,cmd_line,server_proc_id,proc_handle,stdout_handle)	\

+    ( (This)->lpVtbl -> LaunchCmdLineEx(This,cmd_line,server_proc_id,proc_handle,stdout_handle) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IProcessLauncher2_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLegacyLib_LIBRARY_DEFINED__

+#define __UpdaterLegacyLib_LIBRARY_DEFINED__

+

+/* library UpdaterLegacyLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLegacyLib;

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("A0FEB7CB-E0D8-4035-A4C9-5620A8C725AD")

+GoogleUpdate3WebUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("FAC5C548-84EC-474C-A4B3-CD414E09B14C")

+GoogleUpdate3WebSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebServiceClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("687DCE9A-57BE-4026-BEC4-C0A9ACBBCAF2")

+GoogleUpdate3WebServiceClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("E432DCFE-6A32-4C07-B038-9D74AC80D6AB")

+PolicyStatusUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("F675D224-BD54-40E9-AECB-AA3B64EB9863")

+PolicyStatusSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_ProcessLauncherClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("CEC2877D-4856-460E-BE73-11DD7CC7C821")

+ProcessLauncherClass;

+#endif

+#endif /* __UpdaterLegacyLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system.tlb
new file mode 100644
index 0000000..af33803
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system_i.c
new file mode 100644
index 0000000..a452ae0
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system_i.c
@@ -0,0 +1,163 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWeb,0xAA10D17D,0x7A09,0x48AC,0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWebSystem,0x9367601E,0xC100,0x4702,0x87,0x55,0x80,0x8D,0x6B,0xB3,0x85,0xD8);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentState,0xA643508B,0xB1E3,0x4457,0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentStateSystem,0x71CBC6BB,0xCA4B,0x4B5A,0x83,0xC0,0xFC,0x95,0xF9,0xCA,0x6A,0x30);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3Web,0xA35E1C5E,0x0A18,0x4FF1,0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3WebSystem,0xAE5F8C9D,0xB94D,0x4367,0xA4,0x22,0xD1,0xDC,0x4E,0x91,0x3A,0x52);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWeb,0x0569DBB9,0xBAA0,0x48D5,0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWebSystem,0xBFFD766D,0xA2DD,0x436E,0x89,0xFA,0xBF,0x05,0xBC,0x5B,0x59,0x58);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWeb,0x63D941DE,0xF67B,0x4E15,0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWebSystem,0x540B227A,0xF442,0x45D5,0xBA,0x52,0x29,0x8A,0x05,0xBA,0xF1,0xA8);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWeb,0x10A2D03F,0x8BC7,0x49DB,0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWebSystem,0xC6E2C5D5,0x86FA,0x4A64,0x9D,0x08,0x8C,0x9B,0x64,0x4F,0x0E,0x49);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus,0x6A54FE75,0xEDC8,0x404E,0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusSystem,0xF3964464,0xA939,0x44D3,0x92,0x44,0x36,0xBD,0x2E,0x36,0x30,0xB8);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValue,0x2A7D2AE7,0x8EEE,0x45B4,0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValueSystem,0xCC2CCD05,0x119C,0x44E1,0x85,0x2D,0x6D,0xCC,0x2D,0xFB,0x72,0xEC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2,0x06A6AA1E,0x2680,0x4076,0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2System,0xF4A0362A,0x3702,0x48B8,0x98,0x96,0x7D,0x80,0x13,0xD0,0x3A,0xB2);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3,0x029BD175,0x5035,0x4E2A,0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3System,0x7B26CC23,0xB2B8,0x441B,0xAA,0x9C,0x8B,0x55,0x1A,0xBB,0x61,0x1B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IProcessLauncher,0x4779D540,0xF6A3,0x455F,0xA9,0x29,0x7A,0xDF,0xE8,0x5B,0x6F,0x09);

+

+

+MIDL_DEFINE_GUID(IID, IID_IProcessLauncher2,0x74F243B8,0x75D1,0x4E2D,0xBC,0x89,0x56,0x89,0x79,0x8E,0xEF,0x3E);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLegacyLib,0x7A1FDE1F,0xAAA9,0x441B,0xB9,0xAA,0x95,0xB3,0x1D,0x78,0x59,0x2B);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebUserClass,0xA0FEB7CB,0xE0D8,0x4035,0xA4,0xC9,0x56,0x20,0xA8,0xC7,0x25,0xAD);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebSystemClass,0xFAC5C548,0x84EC,0x474C,0xA4,0xB3,0xCD,0x41,0x4E,0x09,0xB1,0x4C);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebServiceClass,0x687DCE9A,0x57BE,0x4026,0xBE,0xC4,0xC0,0xA9,0xAC,0xBB,0xCA,0xF2);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusUserClass,0xE432DCFE,0x6A32,0x4C07,0xB0,0x38,0x9D,0x74,0xAC,0x80,0xD6,0xAB);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusSystemClass,0xF675D224,0xBD54,0x40E9,0xAE,0xCB,0xAA,0x3B,0x64,0xEB,0x98,0x63);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_ProcessLauncherClass,0xCEC2877D,0x4856,0x460E,0xBE,0x73,0x11,0xDD,0x7C,0xC7,0xC8,0x21);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system_p.c
new file mode 100644
index 0000000..a0935fa
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_system_p.c
@@ -0,0 +1,7455 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_ARM64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_legacy_idl_system.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1111                              

+#define PROC_FORMAT_STRING_SIZE   3883                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_system_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_system_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_system__MIDL_TypeFormatString;

+extern const updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING updater_legacy_idl_system__MIDL_ProcFormatString;

+extern const updater_legacy_idl_system_MIDL_EXPR_FORMAT_STRING updater_legacy_idl_system__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentStateSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentStateSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3WebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValueSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2System_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2System_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3System_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3System_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IProcessLauncher_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IProcessLauncher_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IProcessLauncher2_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IProcessLauncher2_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_ARM64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING updater_legacy_idl_system__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x7 ),	/* 7 */

+/*  8 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 18 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 26 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 28 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0000 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0000 */

+

+

+	/* Parameter __MIDL__IAppWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppWeb0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWeb0000 */

+

+/* 30 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 32 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 34 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 36 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 38 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 40 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_packageCount */

+

+

+	/* Procedure get_packageCount */

+

+/* 42 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 44 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 50 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 52 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 54 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 56 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 58 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 64 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 66 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 68 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 70 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IAppCommandWebSystem0001 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0001 */

+

+

+	/* Parameter count */

+

+

+	/* Parameter count */

+

+/* 72 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 74 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 76 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 78 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 80 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 82 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageWeb */

+

+

+	/* Procedure get_packageWeb */

+

+/* 84 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 86 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 90 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 92 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 94 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 96 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 98 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 100 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 104 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 108 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 110 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 112 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 114 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 116 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 118 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter package */

+

+

+	/* Parameter package */

+

+/* 120 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 122 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 124 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 126 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 128 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 130 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_stateValue */

+

+

+	/* Procedure get_stateValue */

+

+/* 132 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 134 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 138 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 140 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 144 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 146 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 148 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 150 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 152 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 154 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 156 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 158 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 160 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter minutes */

+

+

+	/* Parameter minutes */

+

+

+	/* Parameter __MIDL__IAppCommandWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0000 */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0000 */

+

+

+	/* Parameter __MIDL__ICurrentState0000 */

+

+/* 162 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 164 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 166 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 168 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 170 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 172 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_availableVersion */

+

+

+	/* Procedure get_availableVersion */

+

+/* 174 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 176 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 180 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 182 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 184 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 186 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 188 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 190 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 192 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 194 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 196 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 198 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 200 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 202 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0001 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0001 */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0001 */

+

+

+	/* Parameter __MIDL__ICurrentState0001 */

+

+/* 204 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 206 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 208 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 210 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 212 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 214 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_bytesDownloaded */

+

+

+	/* Procedure get_bytesDownloaded */

+

+/* 216 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 218 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 222 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 224 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 226 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 228 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 230 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 232 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 234 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 236 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 238 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 240 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 242 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 244 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0002 */

+

+

+	/* Parameter __MIDL__ICurrentState0002 */

+

+/* 246 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 248 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 250 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 252 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 254 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 256 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+/* 258 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 260 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 264 */	NdrFcShort( 0xa ),	/* 10 */

+/* 266 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 270 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 272 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 274 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 276 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 280 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 282 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 284 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 286 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter limit */

+

+

+	/* Parameter limit */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0003 */

+

+

+	/* Parameter __MIDL__ICurrentState0003 */

+

+/* 288 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 290 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 292 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 294 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 296 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 298 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+/* 300 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 302 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 306 */	NdrFcShort( 0xb ),	/* 11 */

+/* 308 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 310 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 312 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 314 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 316 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 318 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 324 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 326 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 328 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter days */

+

+

+	/* Parameter days */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0004 */

+

+

+	/* Parameter __MIDL__ICurrentState0004 */

+

+/* 330 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 332 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 334 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 336 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 338 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 340 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextRetryTime */

+

+

+	/* Procedure get_nextRetryTime */

+

+/* 342 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 344 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 348 */	NdrFcShort( 0xc ),	/* 12 */

+/* 350 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 352 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 354 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 356 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 358 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 360 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 362 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 364 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 366 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 368 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 370 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0005 */

+

+

+	/* Parameter __MIDL__ICurrentState0005 */

+

+/* 372 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 374 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 376 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 378 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 380 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 382 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 384 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 386 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 390 */	NdrFcShort( 0xd ),	/* 13 */

+/* 392 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 394 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 396 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 398 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 400 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 406 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 410 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 412 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0006 */

+

+

+	/* Parameter __MIDL__ICurrentState0006 */

+

+/* 414 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 416 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 418 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 420 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 422 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 424 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installTimeRemainingMs */

+

+

+	/* Procedure get_installTimeRemainingMs */

+

+/* 426 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 428 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 432 */	NdrFcShort( 0xe ),	/* 14 */

+/* 434 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 436 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 438 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 440 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 442 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 450 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 452 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 454 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0007 */

+

+

+	/* Parameter __MIDL__ICurrentState0007 */

+

+/* 456 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 458 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 460 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 462 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 464 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 466 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isCanceled */

+

+

+	/* Procedure get_isCanceled */

+

+/* 468 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 470 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 474 */	NdrFcShort( 0xf ),	/* 15 */

+/* 476 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 480 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 482 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 484 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 490 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 492 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 494 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 496 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter is_canceled */

+

+

+	/* Parameter is_canceled */

+

+/* 498 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 500 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 502 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 504 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 506 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 508 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 510 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 512 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 516 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 518 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 522 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 524 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 526 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 528 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 530 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 532 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 534 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 536 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 538 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0008 */

+

+

+	/* Parameter __MIDL__ICurrentState0008 */

+

+/* 540 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 542 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 544 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 546 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 548 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 550 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 552 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 554 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 558 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 560 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 562 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 564 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 566 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 568 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 570 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 572 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 574 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 576 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 578 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 580 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0009 */

+

+

+	/* Parameter __MIDL__ICurrentState0009 */

+

+/* 582 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 584 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 586 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 588 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 590 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 592 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_completionMessage */

+

+

+	/* Procedure get_completionMessage */

+

+/* 594 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 596 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 600 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 602 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 606 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 608 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 610 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 612 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 618 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 620 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 622 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0010 */

+

+

+	/* Parameter __MIDL__ICurrentState0010 */

+

+/* 624 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 626 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 628 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 630 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 632 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 634 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultCode */

+

+

+	/* Procedure get_installerResultCode */

+

+/* 636 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 638 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 642 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 644 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 646 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 648 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 650 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 652 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 654 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 656 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 660 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 662 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 664 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0011 */

+

+

+	/* Parameter __MIDL__ICurrentState0011 */

+

+/* 666 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 668 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 670 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 672 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 674 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 676 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultExtraCode1 */

+

+

+	/* Procedure get_installerResultExtraCode1 */

+

+/* 678 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 680 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 684 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 686 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 688 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 690 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 692 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 694 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 696 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 698 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 704 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 706 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0012 */

+

+

+	/* Parameter __MIDL__ICurrentState0012 */

+

+/* 708 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 710 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 712 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 714 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 716 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 718 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+/* 720 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 722 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 726 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 728 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 730 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 732 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 734 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 736 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 738 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 740 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 744 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 746 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 748 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0013 */

+

+

+	/* Parameter __MIDL__ICurrentState0013 */

+

+/* 750 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 752 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 754 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 756 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 758 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 760 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallUrl */

+

+

+	/* Procedure get_postInstallUrl */

+

+/* 762 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 764 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 768 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 770 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 774 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 776 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 778 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 780 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 786 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 788 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 790 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0014 */

+

+

+	/* Parameter __MIDL__ICurrentState0014 */

+

+/* 792 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 794 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 796 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 798 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 800 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 802 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallAction */

+

+

+	/* Procedure get_postInstallAction */

+

+/* 804 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 806 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 812 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 814 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 816 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 818 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 820 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 822 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 828 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 830 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 832 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0015 */

+

+

+	/* Parameter __MIDL__ICurrentState0015 */

+

+/* 834 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 836 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 838 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 840 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 842 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 844 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createAppBundleWeb */

+

+

+	/* Procedure createAppBundleWeb */

+

+/* 846 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 848 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 852 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 854 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 856 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 858 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 860 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 862 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 868 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 870 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 872 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 874 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter app_bundle_web */

+

+

+	/* Parameter app_bundle_web */

+

+/* 876 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 878 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 880 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 882 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 884 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 886 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createApp */

+

+

+	/* Procedure createApp */

+

+/* 888 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 890 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 894 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 896 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 898 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 900 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 902 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 904 */	0x10,		/* 16 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 906 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 908 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 910 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 912 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 914 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 916 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 918 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter app_guid */

+

+

+	/* Parameter app_guid */

+

+/* 920 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 922 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 924 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter brand_code */

+

+

+	/* Parameter brand_code */

+

+/* 926 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 928 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 930 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter language */

+

+

+	/* Parameter language */

+

+/* 932 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 934 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 936 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter ap */

+

+

+	/* Parameter ap */

+

+/* 938 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 940 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 942 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 944 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 946 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 948 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createInstalledApp */

+

+

+	/* Procedure createInstalledApp */

+

+/* 950 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 952 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 956 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 958 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 960 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 962 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 964 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 966 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 968 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 970 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 972 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 974 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 976 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 978 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 980 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 982 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 984 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 986 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 988 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 990 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure createAllInstalledApps */

+

+

+	/* Procedure createAllInstalledApps */

+

+/* 992 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 994 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 998 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1000 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1002 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1004 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1006 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1008 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1010 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1012 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1014 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1016 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1018 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1020 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1022 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1024 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_displayLanguage */

+

+

+	/* Procedure get_displayLanguage */

+

+/* 1026 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1028 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1032 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1034 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1036 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1038 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1040 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1042 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1044 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1050 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1052 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1054 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0002 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0002 */

+

+

+	/* Parameter __MIDL__IAppBundleWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0000 */

+

+/* 1056 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1058 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1060 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1062 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1064 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1066 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_displayLanguage */

+

+

+	/* Procedure put_displayLanguage */

+

+/* 1068 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1070 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1074 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1076 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1078 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1080 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1082 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1084 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1086 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1088 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1090 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1092 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1094 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1096 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IAppBundleWebSystem0001 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0001 */

+

+/* 1098 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1100 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1102 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1104 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1106 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1108 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_parentHWND */

+

+

+	/* Procedure put_parentHWND */

+

+/* 1110 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1112 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1116 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1118 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1120 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1122 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1124 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 1126 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1130 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1134 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1136 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1138 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter hwnd */

+

+

+	/* Parameter hwnd */

+

+/* 1140 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1142 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1144 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1148 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appWeb */

+

+

+	/* Procedure get_appWeb */

+

+/* 1152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1158 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1160 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1162 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1166 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1168 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1176 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1178 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 1180 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 1182 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1184 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1186 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter app_web */

+

+

+	/* Parameter app_web */

+

+/* 1188 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1190 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1192 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1194 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1196 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1198 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure initialize */

+

+

+	/* Procedure initialize */

+

+/* 1200 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1202 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1206 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1208 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1210 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1212 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1214 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1216 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1218 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1220 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1222 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1224 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1226 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1228 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1230 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1232 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure checkForUpdate */

+

+

+	/* Procedure checkForUpdate */

+

+/* 1234 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1236 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1240 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1242 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1244 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1246 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1248 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1250 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1254 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1256 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1258 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1260 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1262 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1264 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1266 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure download */

+

+

+	/* Procedure download */

+

+/* 1268 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1270 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1274 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 1276 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1280 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1282 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1284 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1288 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1290 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1292 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1294 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1296 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1298 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1300 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure install */

+

+

+	/* Procedure install */

+

+/* 1302 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1304 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1308 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 1310 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1312 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1314 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1316 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1318 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1326 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1328 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1330 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1332 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1334 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure pause */

+

+

+	/* Procedure pause */

+

+/* 1336 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1338 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1342 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 1344 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1346 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1348 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1350 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1352 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1354 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1356 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1358 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1360 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1362 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1364 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1366 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1368 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure resume */

+

+

+	/* Procedure resume */

+

+/* 1370 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1372 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1376 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 1378 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1380 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1382 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1384 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1386 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1388 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1390 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1392 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1394 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1396 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1398 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1400 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1402 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1404 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1406 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1410 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 1412 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1414 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1416 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1418 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1420 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1422 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1424 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1426 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1428 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1430 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1432 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1434 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1436 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure downloadPackage */

+

+

+	/* Procedure downloadPackage */

+

+/* 1438 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1440 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1444 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 1446 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1450 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1452 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1454 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1456 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1458 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1460 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1462 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1464 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 1466 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1468 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1470 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1472 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter package_name */

+

+

+	/* Parameter package_name */

+

+/* 1474 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1476 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1478 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1480 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1482 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1484 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1486 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1488 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1492 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 1494 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1496 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1498 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1500 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1502 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1504 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1506 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1508 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1510 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1512 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1514 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1516 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1518 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1520 */	NdrFcShort( 0x3fe ),	/* Type Offset=1022 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1522 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1524 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1526 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentVersionWeb */

+

+

+	/* Procedure get_currentVersionWeb */

+

+/* 1528 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1530 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1534 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1536 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1538 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1540 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1542 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1544 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1546 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1554 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1556 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter current */

+

+

+	/* Parameter current */

+

+/* 1558 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1560 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1562 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1564 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1566 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1568 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersionWeb */

+

+

+	/* Procedure get_nextVersionWeb */

+

+/* 1570 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1572 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1576 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1578 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1580 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1582 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1584 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1586 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1594 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1596 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1598 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter next */

+

+

+	/* Parameter next */

+

+/* 1600 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1602 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1604 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1606 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1608 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1610 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_command */

+

+

+	/* Procedure get_command */

+

+/* 1612 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1614 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1618 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1620 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1622 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1624 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1626 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1628 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1630 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1632 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1636 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1638 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 1640 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter command_id */

+

+

+	/* Parameter command_id */

+

+/* 1642 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1644 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1646 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter command */

+

+

+	/* Parameter command */

+

+/* 1648 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1650 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1652 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1654 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1656 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1658 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1660 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1662 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1666 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1668 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1672 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1674 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1676 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1678 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1680 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1684 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1686 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1688 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1690 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1692 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1694 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1696 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1700 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1702 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1706 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1708 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1710 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1712 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1714 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1716 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1718 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1720 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1722 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1724 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1726 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1728 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1730 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1732 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1734 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure launch */

+

+

+	/* Procedure launch */

+

+/* 1736 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1738 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1742 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1744 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1748 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1750 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1752 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1760 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1762 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1764 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1766 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1768 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure uninstall */

+

+

+	/* Procedure uninstall */

+

+/* 1770 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1772 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1776 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1778 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1782 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1784 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1786 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1788 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1790 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1792 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1794 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1796 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1798 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1800 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1802 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_serverInstallDataIndex */

+

+

+	/* Procedure get_serverInstallDataIndex */

+

+/* 1804 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1806 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1810 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1812 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1814 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1816 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1818 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1820 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1822 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1828 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1830 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1832 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IAppWebSystem0001 */

+

+

+	/* Parameter __MIDL__IAppWeb0001 */

+

+/* 1834 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1836 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1838 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1840 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1842 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1844 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_serverInstallDataIndex */

+

+

+	/* Procedure put_serverInstallDataIndex */

+

+/* 1846 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1848 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1852 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1854 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1856 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1858 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1860 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1862 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1866 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1868 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1870 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1872 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1874 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IAppWebSystem0002 */

+

+

+	/* Parameter __MIDL__IAppWeb0002 */

+

+/* 1876 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1878 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1880 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1882 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1884 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1886 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_output */

+

+

+	/* Procedure get_output */

+

+/* 1888 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1890 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1894 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1896 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1898 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1900 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1902 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1904 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1906 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1908 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1910 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1912 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1914 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1916 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter pref */

+

+

+	/* Parameter pref */

+

+

+	/* Parameter __MIDL__IAppCommandWebSystem0002 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0002 */

+

+/* 1918 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1920 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1922 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1924 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1926 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1928 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure execute */

+

+

+	/* Procedure execute */

+

+/* 1930 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1932 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1936 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1938 */	NdrFcShort( 0x58 ),	/* ARM64 Stack size/offset = 88 */

+/* 1940 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1942 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1944 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xa,		/* 10 */

+/* 1946 */	0x16,		/* 22 */

+			0x85,		/* Ext Flags:  new corr desc, srv corr check, has big byval param */

+/* 1948 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1950 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1952 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1954 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1956 */	0xa,		/* 10 */

+			0x80,		/* 128 */

+/* 1958 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1960 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1962 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1964 */	0x87,		/* 135 */

+			0xf8,		/* 248 */

+/* 1966 */	0xf8,		/* 248 */

+			0x0,		/* 0 */

+

+	/* Parameter substitution1 */

+

+

+	/* Parameter substitution1 */

+

+/* 1968 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1970 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1972 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution2 */

+

+

+	/* Parameter substitution2 */

+

+/* 1974 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1976 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1978 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution3 */

+

+

+	/* Parameter substitution3 */

+

+/* 1980 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1982 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1984 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution4 */

+

+

+	/* Parameter substitution4 */

+

+/* 1986 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1988 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1990 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution5 */

+

+

+	/* Parameter substitution5 */

+

+/* 1992 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1994 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1996 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution6 */

+

+

+	/* Parameter substitution6 */

+

+/* 1998 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2000 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2002 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution7 */

+

+

+	/* Parameter substitution7 */

+

+/* 2004 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2006 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2008 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution8 */

+

+

+	/* Parameter substitution8 */

+

+/* 2010 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2012 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 2014 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution9 */

+

+

+	/* Parameter substitution9 */

+

+/* 2016 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2018 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

+/* 2020 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2022 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2024 */	NdrFcShort( 0x50 ),	/* ARM64 Stack size/offset = 80 */

+/* 2026 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2028 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2030 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2034 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2036 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2038 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2040 */	NdrFcShort( 0x76 ),	/* 118 */

+/* 2042 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x5,		/* 5 */

+/* 2044 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2048 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2050 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2052 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 2054 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 2056 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 2058 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter start_hour */

+

+

+	/* Parameter start_hour */

+

+/* 2060 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2062 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2064 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter start_min */

+

+

+	/* Parameter start_min */

+

+/* 2066 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2068 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2070 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter duration_min */

+

+

+	/* Parameter duration_min */

+

+/* 2072 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2074 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2076 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter are_updates_suppressed */

+

+

+	/* Parameter are_updates_suppressed */

+

+/* 2078 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2080 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2082 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2084 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2086 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2088 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2090 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2092 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2096 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2098 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2102 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2104 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2106 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2108 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2110 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2112 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2114 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2116 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2118 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2120 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2122 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2124 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 2126 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2128 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2130 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2132 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2134 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2136 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2138 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2140 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2144 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2146 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2148 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2150 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2152 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2154 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2156 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2158 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2162 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2164 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2166 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2168 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2170 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2172 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 2174 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2176 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2178 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2180 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2182 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2184 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2186 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2188 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2192 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2194 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2196 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2198 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2200 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2202 */	0xe,		/* 14 */

+			0x7,		/* Ext Flags:  new corr desc, clt corr check, srv corr check, */

+/* 2204 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2206 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2208 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2210 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2212 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2214 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2216 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2218 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2220 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter prefix */

+

+

+	/* Parameter prefix */

+

+/* 2222 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2224 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2226 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2228 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2230 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2232 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2234 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2236 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2240 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2242 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2244 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2246 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 2248 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2250 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2254 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2256 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2258 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2260 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2262 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2264 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2266 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2268 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter rollback_allowed */

+

+

+	/* Parameter rollback_allowed */

+

+/* 2270 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2272 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2274 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2276 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2278 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2280 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_hasConflict */

+

+

+	/* Procedure get_hasConflict */

+

+/* 2282 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2284 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2288 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 2290 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2292 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2294 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 2296 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2298 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2300 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2302 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2306 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2308 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2310 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter has_conflict */

+

+

+	/* Parameter has_conflict */

+

+/* 2312 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2314 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2316 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2318 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2320 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2322 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictValue */

+

+

+	/* Procedure get_conflictValue */

+

+/* 2324 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2326 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2330 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2332 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2336 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2338 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2340 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 2342 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2344 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2346 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2348 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2350 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2352 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0003 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0003 */

+

+/* 2354 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2356 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2358 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2360 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2362 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2364 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckedTime */

+

+

+	/* Procedure get_lastCheckedTime */

+

+/* 2366 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2368 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2372 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2374 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2378 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 2380 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2382 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2384 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2386 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2388 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2390 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2392 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2394 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter last_checked */

+

+

+	/* Parameter last_checked */

+

+/* 2396 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2398 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2400 */	0xc,		/* FC_DOUBLE */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2402 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2404 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2406 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2408 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2410 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2414 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2416 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2418 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2420 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2422 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2424 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2426 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2430 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2432 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2434 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2436 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2438 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2440 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2442 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2444 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2446 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2448 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2450 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2452 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2456 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2458 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2460 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2462 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2464 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2466 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2468 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2470 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2474 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2476 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2478 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter value */

+

+/* 2480 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2482 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2484 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2486 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2488 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2490 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2492 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2494 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2496 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2498 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2500 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2504 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2506 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2508 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2510 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2512 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2514 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2516 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2518 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2522 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2524 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2526 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2528 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2530 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2532 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2534 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2536 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2538 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2540 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2542 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2546 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2548 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2552 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2554 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2556 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2562 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2564 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2566 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2568 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2570 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2572 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2574 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2576 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2578 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2580 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2582 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2584 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2588 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2590 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2594 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2596 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2598 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2600 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2602 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2606 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2608 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2610 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2612 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2614 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2616 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2618 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2620 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2622 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2624 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2626 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2630 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2632 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2636 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2638 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2640 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2644 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2646 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2648 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2650 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2652 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2654 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2656 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2658 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2660 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2662 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2664 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2666 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2668 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2672 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2674 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2676 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2678 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2680 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2682 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2684 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2686 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2688 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2690 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2692 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2694 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2696 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2698 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2700 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2702 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2704 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2706 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2708 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2710 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2714 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2716 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2718 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2720 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2722 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2724 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2726 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2728 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2730 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2732 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2734 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2736 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2738 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2740 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2742 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2744 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2746 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2748 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2750 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2752 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2756 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2758 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2760 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2762 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2764 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2766 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2768 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2770 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2774 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2776 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2778 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2780 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2782 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2784 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2786 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2788 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2790 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2792 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2794 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2796 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2798 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2800 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2804 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2806 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2810 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2812 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2814 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2818 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2822 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2824 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2826 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2828 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2830 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2832 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2834 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2836 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2838 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2840 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2842 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2844 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2846 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2848 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2852 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2854 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2856 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2858 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2860 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2862 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2866 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2868 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2870 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2872 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2874 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2876 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2878 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2880 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2882 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2884 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2886 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2888 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2890 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2892 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2894 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2896 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2900 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 2902 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2904 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2906 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2908 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2910 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2912 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2914 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2916 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2918 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2920 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2922 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2924 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2926 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2928 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2930 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2932 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2934 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2936 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2938 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2940 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 2942 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2944 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2948 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2950 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2952 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2954 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2956 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2958 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2960 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2962 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2964 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2966 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2968 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2970 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2972 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2974 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2976 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2978 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2980 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2982 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2984 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2986 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2988 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2990 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2992 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2996 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2998 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3000 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3002 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3004 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3006 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3008 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3010 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3012 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3014 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3016 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3018 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3020 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3022 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3024 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3026 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3028 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3030 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 3032 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3034 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3038 */	NdrFcShort( 0xb ),	/* 11 */

+/* 3040 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3042 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 3044 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3046 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3048 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3050 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3052 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3054 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3056 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3058 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3060 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter value */

+

+/* 3062 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3064 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3066 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 3068 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 3070 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3072 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3074 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3076 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3078 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 3080 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3082 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3086 */	NdrFcShort( 0xc ),	/* 12 */

+/* 3088 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3090 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3092 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3094 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3096 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3104 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3106 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3108 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3110 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3112 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3114 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3116 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3118 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3120 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 3122 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3124 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3128 */	NdrFcShort( 0xd ),	/* 13 */

+/* 3130 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3134 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3136 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3138 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3144 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3146 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3148 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3150 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3152 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3154 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3156 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3158 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3160 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3162 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 3164 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3166 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3170 */	NdrFcShort( 0xe ),	/* 14 */

+/* 3172 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3176 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3178 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3180 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3182 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3184 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3186 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3188 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3190 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3192 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3194 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3196 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3198 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3200 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3202 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3204 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 3206 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3208 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3212 */	NdrFcShort( 0xf ),	/* 15 */

+/* 3214 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3216 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3218 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3220 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3222 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3224 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3226 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3228 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3230 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3232 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3234 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3236 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3238 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3240 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3242 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3244 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3246 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 3248 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3250 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3254 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3256 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3258 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3260 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3262 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3264 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3266 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3272 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3274 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3276 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3278 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3280 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3282 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3284 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3286 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3288 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 3290 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3292 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3296 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 3298 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3300 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3302 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3304 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3306 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3308 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3310 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3312 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3314 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3316 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3318 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3320 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3322 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3324 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3326 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3328 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3330 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 3332 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3334 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3338 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 3340 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3342 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3344 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3346 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3348 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3350 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3352 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3354 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3356 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3358 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3360 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3362 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3364 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3366 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3368 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3370 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3372 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3374 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3376 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3378 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 3380 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3386 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 3388 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3390 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3392 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3394 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3396 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3398 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3400 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3404 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3406 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3408 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3410 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3412 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3414 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3416 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3418 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3420 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3422 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3424 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3426 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 3428 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3430 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3434 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 3436 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3438 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3440 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3442 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3444 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3448 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3452 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3454 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3456 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3458 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3460 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3462 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3464 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3466 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3468 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3470 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3472 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3474 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 3476 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3478 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3482 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 3484 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3488 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3490 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3492 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3494 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3496 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3498 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3500 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3502 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3504 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3506 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3508 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3510 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3512 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3514 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3516 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3518 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3520 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3522 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 3524 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3526 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3530 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 3532 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3534 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3536 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3538 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3540 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3542 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3544 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3546 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3548 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3550 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3552 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3554 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3556 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3558 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3560 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3562 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3564 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3566 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3568 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3570 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3572 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3574 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3578 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3580 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3582 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3584 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3586 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3588 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3596 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3598 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3600 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter is_machine */

+

+/* 3602 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3604 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3606 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3608 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3610 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3612 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 3614 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3616 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3618 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3620 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3622 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3626 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3628 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3630 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3632 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3634 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3636 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3638 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3640 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3644 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3646 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3648 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter is_machine */

+

+/* 3650 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3652 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3654 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3656 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3658 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3660 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3662 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3664 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3666 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchCmdLine */

+

+/* 3668 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3670 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3674 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3676 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3678 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3680 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3682 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3684 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3686 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3688 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3690 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3692 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3694 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3696 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter cmd_line */

+

+/* 3698 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3700 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3702 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Return value */

+

+/* 3704 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3706 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3708 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchBrowser */

+

+/* 3710 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3712 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3716 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3718 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3720 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3722 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3724 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3726 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3728 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3730 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3732 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3734 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3736 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3738 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter browser_type */

+

+/* 3740 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3742 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3744 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter url */

+

+/* 3746 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3748 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3750 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Return value */

+

+/* 3752 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3754 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3756 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchCmdElevated */

+

+/* 3758 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3760 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3764 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 3766 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 3768 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3770 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3772 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 3774 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3776 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3778 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3782 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 3784 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 3786 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 3788 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter app_guid */

+

+/* 3790 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3792 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3794 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Parameter cmd_id */

+

+/* 3796 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3798 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3800 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Parameter caller_proc_id */

+

+/* 3802 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3804 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3806 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter proc_handle */

+

+/* 3808 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3810 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3812 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3814 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3816 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 3818 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchCmdLineEx */

+

+/* 3820 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3822 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3826 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3828 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 3830 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3832 */	NdrFcShort( 0x5c ),	/* 92 */

+/* 3834 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 3836 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3838 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3840 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3842 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3844 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 3846 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 3848 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 3850 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter cmd_line */

+

+/* 3852 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3854 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3856 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Parameter server_proc_id */

+

+/* 3858 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3860 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3862 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter proc_handle */

+

+/* 3864 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3866 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3868 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Parameter stdout_handle */

+

+/* 3870 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3872 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3874 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3876 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3878 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 3880 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_system__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  4 */	NdrFcShort( 0x1c ),	/* Offset= 28 (32) */

+/*  6 */	

+			0x13, 0x0,	/* FC_OP */

+/*  8 */	NdrFcShort( 0xe ),	/* Offset= 14 (22) */

+/* 10 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 12 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 14 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 16 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 18 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 20 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 22 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 24 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 26 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (10) */

+/* 28 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 30 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 32 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 34 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 36 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0xffde ),	/* Offset= -34 (6) */

+/* 42 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 44 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 46 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 48 */	NdrFcShort( 0x2 ),	/* Offset= 2 (50) */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 62 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 64 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 66 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 68 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 70 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 72 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 74 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 76 */	

+			0x12, 0x0,	/* FC_UP */

+/* 78 */	NdrFcShort( 0xffc8 ),	/* Offset= -56 (22) */

+/* 80 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (76) */

+/* 90 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/* 92 */	NdrFcShort( 0x3a2 ),	/* Offset= 930 (1022) */

+/* 94 */	

+			0x13, 0x0,	/* FC_OP */

+/* 96 */	NdrFcShort( 0x38a ),	/* Offset= 906 (1002) */

+/* 98 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 100 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 102 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 104 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 106 */	NdrFcShort( 0x2 ),	/* Offset= 2 (108) */

+/* 108 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 110 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 112 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 116 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 118 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 122 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 124 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 128 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 130 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 134 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 136 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 140 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 142 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 146 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 148 */	NdrFcLong( 0xb ),	/* 11 */

+/* 152 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 154 */	NdrFcLong( 0xa ),	/* 10 */

+/* 158 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 160 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 164 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (396) */

+/* 166 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 170 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 172 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 176 */	NdrFcShort( 0xff56 ),	/* Offset= -170 (6) */

+/* 178 */	NdrFcLong( 0xd ),	/* 13 */

+/* 182 */	NdrFcShort( 0xdc ),	/* Offset= 220 (402) */

+/* 184 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 188 */	NdrFcShort( 0xff76 ),	/* Offset= -138 (50) */

+/* 190 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 194 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (420) */

+/* 196 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 200 */	NdrFcShort( 0x2d8 ),	/* Offset= 728 (928) */

+/* 202 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 206 */	NdrFcShort( 0x2d2 ),	/* Offset= 722 (928) */

+/* 208 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 212 */	NdrFcShort( 0x2d0 ),	/* Offset= 720 (932) */

+/* 214 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 218 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (936) */

+/* 220 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 224 */	NdrFcShort( 0x2cc ),	/* Offset= 716 (940) */

+/* 226 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 230 */	NdrFcShort( 0x2ca ),	/* Offset= 714 (944) */

+/* 232 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 236 */	NdrFcShort( 0x2c8 ),	/* Offset= 712 (948) */

+/* 238 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 242 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (952) */

+/* 244 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 248 */	NdrFcShort( 0x2b0 ),	/* Offset= 688 (936) */

+/* 250 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 254 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (940) */

+/* 256 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 260 */	NdrFcShort( 0x2b8 ),	/* Offset= 696 (956) */

+/* 262 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 266 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (952) */

+/* 268 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 272 */	NdrFcShort( 0x2b0 ),	/* Offset= 688 (960) */

+/* 274 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 278 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (964) */

+/* 280 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 284 */	NdrFcShort( 0x2ac ),	/* Offset= 684 (968) */

+/* 286 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 290 */	NdrFcShort( 0x2aa ),	/* Offset= 682 (972) */

+/* 292 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 296 */	NdrFcShort( 0x2a8 ),	/* Offset= 680 (976) */

+/* 298 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 302 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 304 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 308 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 310 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 314 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 316 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 320 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 322 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 326 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 328 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 332 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 334 */	NdrFcLong( 0xe ),	/* 14 */

+/* 338 */	NdrFcShort( 0x286 ),	/* Offset= 646 (984) */

+/* 340 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 344 */	NdrFcShort( 0x28a ),	/* Offset= 650 (994) */

+/* 346 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 350 */	NdrFcShort( 0x288 ),	/* Offset= 648 (998) */

+/* 352 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 356 */	NdrFcShort( 0x244 ),	/* Offset= 580 (936) */

+/* 358 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 362 */	NdrFcShort( 0x242 ),	/* Offset= 578 (940) */

+/* 364 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 368 */	NdrFcShort( 0x240 ),	/* Offset= 576 (944) */

+/* 370 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 374 */	NdrFcShort( 0x236 ),	/* Offset= 566 (940) */

+/* 376 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 380 */	NdrFcShort( 0x230 ),	/* Offset= 560 (940) */

+/* 382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0x0 ),	/* Offset= 0 (386) */

+/* 388 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 392 */	NdrFcShort( 0x0 ),	/* Offset= 0 (392) */

+/* 394 */	NdrFcShort( 0xffff ),	/* Offset= -1 (393) */

+/* 396 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 400 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 402 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 404 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 412 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 414 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 416 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 418 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 420 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 422 */	NdrFcShort( 0x2 ),	/* Offset= 2 (424) */

+/* 424 */	

+			0x13, 0x0,	/* FC_OP */

+/* 426 */	NdrFcShort( 0x1e4 ),	/* Offset= 484 (910) */

+/* 428 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x89,		/* 137 */

+/* 430 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 432 */	NdrFcShort( 0xa ),	/* 10 */

+/* 434 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 438 */	NdrFcShort( 0x50 ),	/* Offset= 80 (518) */

+/* 440 */	NdrFcLong( 0xd ),	/* 13 */

+/* 444 */	NdrFcShort( 0x70 ),	/* Offset= 112 (556) */

+/* 446 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 450 */	NdrFcShort( 0x90 ),	/* Offset= 144 (594) */

+/* 452 */	NdrFcLong( 0xc ),	/* 12 */

+/* 456 */	NdrFcShort( 0xb0 ),	/* Offset= 176 (632) */

+/* 458 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 462 */	NdrFcShort( 0x102 ),	/* Offset= 258 (720) */

+/* 464 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 468 */	NdrFcShort( 0x11e ),	/* Offset= 286 (754) */

+/* 470 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 474 */	NdrFcShort( 0x138 ),	/* Offset= 312 (786) */

+/* 476 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 480 */	NdrFcShort( 0x14e ),	/* Offset= 334 (814) */

+/* 482 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 486 */	NdrFcShort( 0x164 ),	/* Offset= 356 (842) */

+/* 488 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 492 */	NdrFcShort( 0x17a ),	/* Offset= 378 (870) */

+/* 494 */	NdrFcShort( 0xffff ),	/* Offset= -1 (493) */

+/* 496 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 498 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 500 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 502 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 504 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 506 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 510 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 512 */	

+			0x13, 0x0,	/* FC_OP */

+/* 514 */	NdrFcShort( 0xfe14 ),	/* Offset= -492 (22) */

+/* 516 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 518 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 520 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 524 */	NdrFcShort( 0x6 ),	/* Offset= 6 (530) */

+/* 526 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 528 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 530 */	

+			0x11, 0x0,	/* FC_RP */

+/* 532 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (496) */

+/* 534 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 536 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 538 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 542 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 544 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 548 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 550 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 552 */	NdrFcShort( 0xff6a ),	/* Offset= -150 (402) */

+/* 554 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 556 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 558 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 562 */	NdrFcShort( 0x6 ),	/* Offset= 6 (568) */

+/* 564 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 566 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 568 */	

+			0x11, 0x0,	/* FC_RP */

+/* 570 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (534) */

+/* 572 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 574 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 576 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 578 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 580 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 582 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 586 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 588 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 590 */	NdrFcShort( 0xfde4 ),	/* Offset= -540 (50) */

+/* 592 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 594 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 596 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 598 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 600 */	NdrFcShort( 0x6 ),	/* Offset= 6 (606) */

+/* 602 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 604 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 606 */	

+			0x11, 0x0,	/* FC_RP */

+/* 608 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (572) */

+/* 610 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 612 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 614 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 618 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 620 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 624 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 626 */	

+			0x13, 0x0,	/* FC_OP */

+/* 628 */	NdrFcShort( 0x176 ),	/* Offset= 374 (1002) */

+/* 630 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 632 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 634 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 638 */	NdrFcShort( 0x6 ),	/* Offset= 6 (644) */

+/* 640 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 642 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 644 */	

+			0x11, 0x0,	/* FC_RP */

+/* 646 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (610) */

+/* 648 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 650 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 654 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 656 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 658 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 660 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 662 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 664 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 666 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 668 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 670 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 672 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 674 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 676 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 678 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 680 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 684 */	NdrFcShort( 0xa ),	/* Offset= 10 (694) */

+/* 686 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 688 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 690 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (648) */

+/* 692 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 694 */	

+			0x13, 0x0,	/* FC_OP */

+/* 696 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (666) */

+/* 698 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 706 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 708 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 712 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 714 */	

+			0x13, 0x0,	/* FC_OP */

+/* 716 */	NdrFcShort( 0xffda ),	/* Offset= -38 (678) */

+/* 718 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 720 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 722 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 724 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 726 */	NdrFcShort( 0x6 ),	/* Offset= 6 (732) */

+/* 728 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 730 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 732 */	

+			0x11, 0x0,	/* FC_RP */

+/* 734 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (698) */

+/* 736 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 738 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 740 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 742 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 744 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 746 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 748 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 750 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (736) */

+			0x5b,		/* FC_END */

+/* 754 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 756 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0xa ),	/* Offset= 10 (770) */

+/* 762 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 764 */	0x36,		/* FC_POINTER */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 766 */	0x0,		/* 0 */

+			NdrFcShort( 0xffe7 ),	/* Offset= -25 (742) */

+			0x5b,		/* FC_END */

+/* 770 */	

+			0x11, 0x0,	/* FC_RP */

+/* 772 */	NdrFcShort( 0xff12 ),	/* Offset= -238 (534) */

+/* 774 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 776 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 778 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 782 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 784 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 786 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 788 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 790 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 792 */	NdrFcShort( 0x6 ),	/* Offset= 6 (798) */

+/* 794 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 796 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 798 */	

+			0x13, 0x0,	/* FC_OP */

+/* 800 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (774) */

+/* 802 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 804 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 806 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 812 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 814 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 816 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 820 */	NdrFcShort( 0x6 ),	/* Offset= 6 (826) */

+/* 822 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 824 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 826 */	

+			0x13, 0x0,	/* FC_OP */

+/* 828 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (802) */

+/* 830 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 832 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 834 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 836 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 838 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 840 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 842 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 844 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x6 ),	/* Offset= 6 (854) */

+/* 850 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 852 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 854 */	

+			0x13, 0x0,	/* FC_OP */

+/* 856 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (830) */

+/* 858 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 860 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 862 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 868 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 870 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 872 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 874 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 876 */	NdrFcShort( 0x6 ),	/* Offset= 6 (882) */

+/* 878 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 880 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 882 */	

+			0x13, 0x0,	/* FC_OP */

+/* 884 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (858) */

+/* 886 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 888 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 890 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 892 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 894 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 896 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 898 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 900 */	NdrFcShort( 0xffc8 ),	/* -56 */

+/* 902 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 904 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 906 */	NdrFcShort( 0xffec ),	/* Offset= -20 (886) */

+/* 908 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 910 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 912 */	NdrFcShort( 0x38 ),	/* 56 */

+/* 914 */	NdrFcShort( 0xffec ),	/* Offset= -20 (894) */

+/* 916 */	NdrFcShort( 0x0 ),	/* Offset= 0 (916) */

+/* 918 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 920 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 922 */	0x40,		/* FC_STRUCTPAD4 */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 924 */	0x0,		/* 0 */

+			NdrFcShort( 0xfe0f ),	/* Offset= -497 (428) */

+			0x5b,		/* FC_END */

+/* 928 */	

+			0x13, 0x0,	/* FC_OP */

+/* 930 */	NdrFcShort( 0xff04 ),	/* Offset= -252 (678) */

+/* 932 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 934 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 936 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 938 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 940 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 942 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 944 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 946 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 948 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 950 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 952 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 954 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 956 */	

+			0x13, 0x0,	/* FC_OP */

+/* 958 */	NdrFcShort( 0xfdce ),	/* Offset= -562 (396) */

+/* 960 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 962 */	NdrFcShort( 0xfc44 ),	/* Offset= -956 (6) */

+/* 964 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 966 */	NdrFcShort( 0xfdcc ),	/* Offset= -564 (402) */

+/* 968 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 970 */	NdrFcShort( 0xfc68 ),	/* Offset= -920 (50) */

+/* 972 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 974 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (420) */

+/* 976 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 978 */	NdrFcShort( 0x2 ),	/* Offset= 2 (980) */

+/* 980 */	

+			0x13, 0x0,	/* FC_OP */

+/* 982 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1002) */

+/* 984 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 986 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 988 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 990 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 992 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 994 */	

+			0x13, 0x0,	/* FC_OP */

+/* 996 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (984) */

+/* 998 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1000 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1004 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1006 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1008 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1008) */

+/* 1010 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1012 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1014 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1016 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1018 */	NdrFcShort( 0xfc68 ),	/* Offset= -920 (98) */

+/* 1020 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1022 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1024 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1026 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1030 */	NdrFcShort( 0xfc58 ),	/* Offset= -936 (94) */

+/* 1032 */	

+			0x11, 0x0,	/* FC_RP */

+/* 1034 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1040) */

+/* 1036 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1038 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (1002) */

+/* 1040 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1042 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1044 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1036) */

+/* 1050 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1052 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1054 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1056 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1058) */

+/* 1058 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1060 */	NdrFcLong( 0x2a7d2ae7 ),	/* 712846055 */

+/* 1064 */	NdrFcShort( 0x8eee ),	/* -28946 */

+/* 1066 */	NdrFcShort( 0x45b4 ),	/* 17844 */

+/* 1068 */	0xb1,		/* 177 */

+			0x7f,		/* 127 */

+/* 1070 */	0x31,		/* 49 */

+			0xda,		/* 218 */

+/* 1072 */	0xac,		/* 172 */

+			0x82,		/* 130 */

+/* 1074 */	0xcc,		/* 204 */

+			0xbb,		/* 187 */

+/* 1076 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1078 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 1080 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1082 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1084) */

+/* 1084 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1086 */	NdrFcLong( 0xcc2ccd05 ),	/* -869479163 */

+/* 1090 */	NdrFcShort( 0x119c ),	/* 4508 */

+/* 1092 */	NdrFcShort( 0x44e1 ),	/* 17633 */

+/* 1094 */	0x85,		/* 133 */

+			0x2d,		/* 45 */

+/* 1096 */	0x6d,		/* 109 */

+			0xcc,		/* 204 */

+/* 1098 */	0x2d,		/* 45 */

+			0xfb,		/* 251 */

+/* 1100 */	0x72,		/* 114 */

+			0xec,		/* 236 */

+/* 1102 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1104 */	

+			0x25,		/* FC_C_WSTRING */

+			0x5c,		/* FC_PAD */

+/* 1106 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1108 */	0xb9,		/* FC_UINT3264 */

+			0x5c,		/* FC_PAD */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Standard interface: __MIDL_itf_updater_legacy_idl_system_0000_0000, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IAppVersionWeb, ver. 0.0,

+   GUID={0xAA10D17D,0x7A09,0x48AC,{0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    42,

+    84

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebProxyVtbl = 

+{

+    &IAppVersionWeb_ProxyInfo,

+    &IID_IAppVersionWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebStubVtbl =

+{

+    &IID_IAppVersionWeb,

+    &IAppVersionWeb_ServerInfo,

+    10,

+    &IAppVersionWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppVersionWebSystem, ver. 0.0,

+   GUID={0x9367601E,0xC100,0x4702,{0x87,0x55,0x80,0x8D,0x6B,0xB3,0x85,0xD8}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    42,

+    84

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebSystemProxyVtbl = 

+{

+    &IAppVersionWebSystem_ProxyInfo,

+    &IID_IAppVersionWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebSystem::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebSystem::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebSystem::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebSystemStubVtbl =

+{

+    &IID_IAppVersionWebSystem,

+    &IAppVersionWebSystem_ServerInfo,

+    10,

+    &IAppVersionWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentState, ver. 0.0,

+   GUID={0xA643508B,0xB1E3,0x4457,{0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    174,

+    216,

+    258,

+    300,

+    342,

+    384,

+    426,

+    468,

+    510,

+    552,

+    594,

+    636,

+    678,

+    720,

+    762,

+    804

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateProxyVtbl = 

+{

+    &ICurrentState_ProxyInfo,

+    &IID_ICurrentState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateStubVtbl =

+{

+    &IID_ICurrentState,

+    &ICurrentState_ServerInfo,

+    24,

+    &ICurrentState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentStateSystem, ver. 0.0,

+   GUID={0x71CBC6BB,0xCA4B,0x4B5A,{0x83,0xC0,0xFC,0x95,0xF9,0xCA,0x6A,0x30}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentStateSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    174,

+    216,

+    258,

+    300,

+    342,

+    384,

+    426,

+    468,

+    510,

+    552,

+    594,

+    636,

+    678,

+    720,

+    762,

+    804

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentStateSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentStateSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateSystemProxyVtbl = 

+{

+    &ICurrentStateSystem_ProxyInfo,

+    &IID_ICurrentStateSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentStateSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateSystemStubVtbl =

+{

+    &IID_ICurrentStateSystem,

+    &ICurrentStateSystem_ServerInfo,

+    24,

+    &ICurrentStateSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3Web, ver. 0.0,

+   GUID={0xA35E1C5E,0x0A18,0x4FF1,{0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3Web_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    846

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebProxyVtbl = 

+{

+    &IGoogleUpdate3Web_ProxyInfo,

+    &IID_IGoogleUpdate3Web,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3Web::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3Web_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebStubVtbl =

+{

+    &IID_IGoogleUpdate3Web,

+    &IGoogleUpdate3Web_ServerInfo,

+    8,

+    &IGoogleUpdate3Web_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3WebSystem, ver. 0.0,

+   GUID={0xAE5F8C9D,0xB94D,0x4367,{0xA4,0x22,0xD1,0xDC,0x4E,0x91,0x3A,0x52}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3WebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    846

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3WebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebSystemProxyVtbl = 

+{

+    &IGoogleUpdate3WebSystem_ProxyInfo,

+    &IID_IGoogleUpdate3WebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3WebSystem::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3WebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebSystemStubVtbl =

+{

+    &IID_IGoogleUpdate3WebSystem,

+    &IGoogleUpdate3WebSystem_ServerInfo,

+    8,

+    &IGoogleUpdate3WebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWeb, ver. 0.0,

+   GUID={0x0569DBB9,0xBAA0,0x48D5,{0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    888,

+    950,

+    992,

+    1026,

+    1068,

+    1110,

+    384,

+    1152,

+    1200,

+    1234,

+    1268,

+    1302,

+    1336,

+    1370,

+    1404,

+    1438,

+    1486

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebProxyVtbl = 

+{

+    &IAppBundleWeb_ProxyInfo,

+    &IID_IAppBundleWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebStubVtbl =

+{

+    &IID_IAppBundleWeb,

+    &IAppBundleWeb_ServerInfo,

+    24,

+    &IAppBundleWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWebSystem, ver. 0.0,

+   GUID={0xBFFD766D,0xA2DD,0x436E,{0x89,0xFA,0xBF,0x05,0xBC,0x5B,0x59,0x58}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    888,

+    950,

+    992,

+    1026,

+    1068,

+    1110,

+    384,

+    1152,

+    1200,

+    1234,

+    1268,

+    1302,

+    1336,

+    1370,

+    1404,

+    1438,

+    1486

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebSystemProxyVtbl = 

+{

+    &IAppBundleWebSystem_ProxyInfo,

+    &IID_IAppBundleWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebSystemStubVtbl =

+{

+    &IID_IAppBundleWebSystem,

+    &IAppBundleWebSystem_ServerInfo,

+    24,

+    &IAppBundleWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWeb, ver. 0.0,

+   GUID={0x63D941DE,0xF67B,0x4E15,{0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1528,

+    1570,

+    1612,

+    1660,

+    1694,

+    1736,

+    1770,

+    1804,

+    1846

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebProxyVtbl = 

+{

+    &IAppWeb_ProxyInfo,

+    &IID_IAppWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebStubVtbl =

+{

+    &IID_IAppWeb,

+    &IAppWeb_ServerInfo,

+    17,

+    &IAppWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWebSystem, ver. 0.0,

+   GUID={0x540B227A,0xF442,0x45D5,{0xBA,0x52,0x29,0x8A,0x05,0xBA,0xF1,0xA8}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1528,

+    1570,

+    1612,

+    1660,

+    1694,

+    1736,

+    1770,

+    1804,

+    1846

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebSystemProxyVtbl = 

+{

+    &IAppWebSystem_ProxyInfo,

+    &IID_IAppWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebSystemStubVtbl =

+{

+    &IID_IAppWebSystem,

+    &IAppWebSystem_ServerInfo,

+    17,

+    &IAppWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWeb, ver. 0.0,

+   GUID={0x10A2D03F,0x8BC7,0x49DB,{0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    42,

+    1888,

+    1930

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebProxyVtbl = 

+{

+    &IAppCommandWeb_ProxyInfo,

+    &IID_IAppCommandWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebStubVtbl =

+{

+    &IID_IAppCommandWeb,

+    &IAppCommandWeb_ServerInfo,

+    11,

+    &IAppCommandWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWebSystem, ver. 0.0,

+   GUID={0xC6E2C5D5,0x86FA,0x4A64,{0x9D,0x08,0x8C,0x9B,0x64,0x4F,0x0E,0x49}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    42,

+    1888,

+    1930

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebSystemProxyVtbl = 

+{

+    &IAppCommandWebSystem_ProxyInfo,

+    &IID_IAppCommandWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebSystemStubVtbl =

+{

+    &IID_IAppCommandWebSystem,

+    &IAppCommandWebSystem_ServerInfo,

+    11,

+    &IAppCommandWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus, ver. 0.0,

+   GUID={0x6A54FE75,0xEDC8,0x404E,{0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    2028,

+    1888,

+    258,

+    300,

+    2090,

+    2138,

+    2186,

+    2234

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusProxyVtbl = 

+{

+    &IPolicyStatus_ProxyInfo,

+    &IID_IPolicyStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusStubVtbl =

+{

+    &IID_IPolicyStatus,

+    &IPolicyStatus_ServerInfo,

+    16,

+    &IPolicyStatus_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusSystem, ver. 0.0,

+   GUID={0xF3964464,0xA939,0x44D3,{0x92,0x44,0x36,0xBD,0x2E,0x36,0x30,0xB8}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    2028,

+    1888,

+    258,

+    300,

+    2090,

+    2138,

+    2186,

+    2234

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusSystemProxyVtbl = 

+{

+    &IPolicyStatusSystem_ProxyInfo,

+    &IID_IPolicyStatusSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusSystemStubVtbl =

+{

+    &IID_IPolicyStatusSystem,

+    &IPolicyStatusSystem_ServerInfo,

+    16,

+    &IPolicyStatusSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValue, ver. 0.0,

+   GUID={0x2A7D2AE7,0x8EEE,0x45B4,{0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValue_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    174,

+    2282,

+    1026,

+    2324

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueProxyVtbl = 

+{

+    &IPolicyStatusValue_ProxyInfo,

+    &IID_IPolicyStatusValue,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValue_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueStubVtbl =

+{

+    &IID_IPolicyStatusValue,

+    &IPolicyStatusValue_ServerInfo,

+    12,

+    &IPolicyStatusValue_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValueSystem, ver. 0.0,

+   GUID={0xCC2CCD05,0x119C,0x44E1,{0x85,0x2D,0x6D,0xCC,0x2D,0xFB,0x72,0xEC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValueSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    174,

+    2282,

+    1026,

+    2324

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValueSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueSystemProxyVtbl = 

+{

+    &IPolicyStatusValueSystem_ProxyInfo,

+    &IID_IPolicyStatusValueSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValueSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueSystemStubVtbl =

+{

+    &IID_IPolicyStatusValueSystem,

+    &IPolicyStatusValueSystem_ServerInfo,

+    12,

+    &IPolicyStatusValueSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2, ver. 0.0,

+   GUID={0x06A6AA1E,0x2680,0x4076,{0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2366,

+    992,

+    2408,

+    2450,

+    2498,

+    2540,

+    2582,

+    2624,

+    2666,

+    2708,

+    2750,

+    2798,

+    2846,

+    2894,

+    2942

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2ProxyVtbl = 

+{

+    &IPolicyStatus2_ProxyInfo,

+    &IID_IPolicyStatus2,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2StubVtbl =

+{

+    &IID_IPolicyStatus2,

+    &IPolicyStatus2_ServerInfo,

+    23,

+    &IPolicyStatus2_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2System, ver. 0.0,

+   GUID={0xF4A0362A,0x3702,0x48B8,{0x98,0x96,0x7D,0x80,0x13,0xD0,0x3A,0xB2}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2System_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2366,

+    992,

+    2990,

+    3032,

+    3080,

+    3122,

+    3164,

+    3206,

+    3248,

+    3290,

+    3332,

+    3380,

+    3428,

+    3476,

+    3524

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2System_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2System_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2SystemProxyVtbl = 

+{

+    &IPolicyStatus2System_ProxyInfo,

+    &IID_IPolicyStatus2System,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2System_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2SystemStubVtbl =

+{

+    &IID_IPolicyStatus2System,

+    &IPolicyStatus2System_ServerInfo,

+    23,

+    &IPolicyStatus2System_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3, ver. 0.0,

+   GUID={0x029BD175,0x5035,0x4E2A,{0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2366,

+    992,

+    2408,

+    2450,

+    2498,

+    2540,

+    2582,

+    2624,

+    2666,

+    2708,

+    2750,

+    2798,

+    2846,

+    2894,

+    2942,

+    3572

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3ProxyVtbl = 

+{

+    &IPolicyStatus3_ProxyInfo,

+    &IID_IPolicyStatus3,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3StubVtbl =

+{

+    &IID_IPolicyStatus3,

+    &IPolicyStatus3_ServerInfo,

+    24,

+    &IPolicyStatus3_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3System, ver. 0.0,

+   GUID={0x7B26CC23,0xB2B8,0x441B,{0xAA,0x9C,0x8B,0x55,0x1A,0xBB,0x61,0x1B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3System_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2366,

+    992,

+    2990,

+    3032,

+    3080,

+    3122,

+    3164,

+    3206,

+    3248,

+    3290,

+    3332,

+    3380,

+    3428,

+    3476,

+    3524,

+    3620

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3System_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3System_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3SystemProxyVtbl = 

+{

+    &IPolicyStatus3System_ProxyInfo,

+    &IID_IPolicyStatus3System,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3System::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3System_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3SystemStubVtbl =

+{

+    &IID_IPolicyStatus3System,

+    &IPolicyStatus3System_ServerInfo,

+    24,

+    &IPolicyStatus3System_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IProcessLauncher, ver. 0.0,

+   GUID={0x4779D540,0xF6A3,0x455F,{0xA9,0x29,0x7A,0xDF,0xE8,0x5B,0x6F,0x09}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IProcessLauncher_FormatStringOffsetTable[] =

+    {

+    3668,

+    3710,

+    3758

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IProcessLauncher_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IProcessLauncher_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(6) _IProcessLauncherProxyVtbl = 

+{

+    &IProcessLauncher_ProxyInfo,

+    &IID_IProcessLauncher,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdLine */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchBrowser */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdElevated */

+};

+

+const CInterfaceStubVtbl _IProcessLauncherStubVtbl =

+{

+    &IID_IProcessLauncher,

+    &IProcessLauncher_ServerInfo,

+    6,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IProcessLauncher2, ver. 0.0,

+   GUID={0x74F243B8,0x75D1,0x4E2D,{0xBC,0x89,0x56,0x89,0x79,0x8E,0xEF,0x3E}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IProcessLauncher2_FormatStringOffsetTable[] =

+    {

+    3668,

+    3710,

+    3758,

+    3820

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IProcessLauncher2_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IProcessLauncher2_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(7) _IProcessLauncher2ProxyVtbl = 

+{

+    &IProcessLauncher2_ProxyInfo,

+    &IID_IProcessLauncher2,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdLine */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchBrowser */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdElevated */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher2::LaunchCmdLineEx */

+};

+

+const CInterfaceStubVtbl _IProcessLauncher2StubVtbl =

+{

+    &IID_IProcessLauncher2,

+    &IProcessLauncher2_ServerInfo,

+    7,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_legacy_idl_system__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_legacy_idl_system_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3SystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2SystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IProcessLauncherProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IProcessLauncher2ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_legacy_idl_system_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2StubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3SystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2SystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IProcessLauncherStubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3StubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IProcessLauncher2StubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_legacy_idl_system_InterfaceNamesList[] = 

+{

+    "IPolicyStatusValueSystem",

+    "IAppVersionWebSystem",

+    "IPolicyStatus2",

+    "IPolicyStatus3System",

+    "IPolicyStatus2System",

+    "IAppCommandWeb",

+    "IProcessLauncher",

+    "IGoogleUpdate3Web",

+    "IPolicyStatusSystem",

+    "IAppBundleWebSystem",

+    "IPolicyStatus3",

+    "IPolicyStatus",

+    "IAppWebSystem",

+    "IAppVersionWeb",

+    "ICurrentState",

+    "IGoogleUpdate3WebSystem",

+    "IProcessLauncher2",

+    "IAppBundleWeb",

+    "ICurrentStateSystem",

+    "IAppCommandWebSystem",

+    "IAppWeb",

+    "IPolicyStatusValue",

+    0

+};

+

+const IID *  const _updater_legacy_idl_system_BaseIIDList[] = 

+{

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0

+};

+

+

+#define _updater_legacy_idl_system_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_legacy_idl_system, pIID, n)

+

+int __stdcall _updater_legacy_idl_system_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_legacy_idl_system, 22, 16 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_legacy_idl_system, 22, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_legacy_idl_system_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_legacy_idl_system_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_legacy_idl_system_StubVtblList,

+    (const PCInterfaceName * ) & _updater_legacy_idl_system_InterfaceNamesList,

+    (const IID ** ) & _updater_legacy_idl_system_BaseIIDList,

+    & _updater_legacy_idl_system_IID_Lookup, 

+    22,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_ARM64) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user.dlldata.c
new file mode 100644
index 0000000..32bacec
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_legacy_idl_user )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_legacy_idl_user ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user.h
new file mode 100644
index 0000000..23d745f
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user.h
@@ -0,0 +1,5256 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_legacy_idl_user_h__

+#define __updater_legacy_idl_user_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebUser_FWD_DEFINED__

+#define __IAppVersionWebUser_FWD_DEFINED__

+typedef interface IAppVersionWebUser IAppVersionWebUser;

+

+#endif 	/* __IAppVersionWebUser_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateUser_FWD_DEFINED__

+#define __ICurrentStateUser_FWD_DEFINED__

+typedef interface ICurrentStateUser ICurrentStateUser;

+

+#endif 	/* __ICurrentStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebUser_FWD_DEFINED__

+#define __IGoogleUpdate3WebUser_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebUser IGoogleUpdate3WebUser;

+

+#endif 	/* __IGoogleUpdate3WebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebUser_FWD_DEFINED__

+#define __IAppBundleWebUser_FWD_DEFINED__

+typedef interface IAppBundleWebUser IAppBundleWebUser;

+

+#endif 	/* __IAppBundleWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebUser_FWD_DEFINED__

+#define __IAppWebUser_FWD_DEFINED__

+typedef interface IAppWebUser IAppWebUser;

+

+#endif 	/* __IAppWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebUser_FWD_DEFINED__

+#define __IAppCommandWebUser_FWD_DEFINED__

+typedef interface IAppCommandWebUser IAppCommandWebUser;

+

+#endif 	/* __IAppCommandWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusUser_FWD_DEFINED__

+#define __IPolicyStatusUser_FWD_DEFINED__

+typedef interface IPolicyStatusUser IPolicyStatusUser;

+

+#endif 	/* __IPolicyStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueUser_FWD_DEFINED__

+#define __IPolicyStatusValueUser_FWD_DEFINED__

+typedef interface IPolicyStatusValueUser IPolicyStatusValueUser;

+

+#endif 	/* __IPolicyStatusValueUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2User_FWD_DEFINED__

+#define __IPolicyStatus2User_FWD_DEFINED__

+typedef interface IPolicyStatus2User IPolicyStatus2User;

+

+#endif 	/* __IPolicyStatus2User_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3User_FWD_DEFINED__

+#define __IPolicyStatus3User_FWD_DEFINED__

+typedef interface IPolicyStatus3User IPolicyStatus3User;

+

+#endif 	/* __IPolicyStatus3User_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebUserClass_FWD_DEFINED__

+#define __GoogleUpdate3WebUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#else

+typedef struct GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebUserClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+#define __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#else

+typedef struct GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+#define __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#else

+typedef struct GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebServiceClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusUserClass_FWD_DEFINED__

+#define __PolicyStatusUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusUserClass PolicyStatusUserClass;

+#else

+typedef struct PolicyStatusUserClass PolicyStatusUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusUserClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusSystemClass_FWD_DEFINED__

+#define __PolicyStatusSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusSystemClass PolicyStatusSystemClass;

+#else

+typedef struct PolicyStatusSystemClass PolicyStatusSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __ProcessLauncherClass_FWD_DEFINED__

+#define __ProcessLauncherClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class ProcessLauncherClass ProcessLauncherClass;

+#else

+typedef struct ProcessLauncherClass ProcessLauncherClass;

+#endif /* __cplusplus */

+

+#endif 	/* __ProcessLauncherClass_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebUser_FWD_DEFINED__

+#define __IAppVersionWebUser_FWD_DEFINED__

+typedef interface IAppVersionWebUser IAppVersionWebUser;

+

+#endif 	/* __IAppVersionWebUser_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateUser_FWD_DEFINED__

+#define __ICurrentStateUser_FWD_DEFINED__

+typedef interface ICurrentStateUser ICurrentStateUser;

+

+#endif 	/* __ICurrentStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebUser_FWD_DEFINED__

+#define __IGoogleUpdate3WebUser_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebUser IGoogleUpdate3WebUser;

+

+#endif 	/* __IGoogleUpdate3WebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebUser_FWD_DEFINED__

+#define __IAppBundleWebUser_FWD_DEFINED__

+typedef interface IAppBundleWebUser IAppBundleWebUser;

+

+#endif 	/* __IAppBundleWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebUser_FWD_DEFINED__

+#define __IAppWebUser_FWD_DEFINED__

+typedef interface IAppWebUser IAppWebUser;

+

+#endif 	/* __IAppWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebUser_FWD_DEFINED__

+#define __IAppCommandWebUser_FWD_DEFINED__

+typedef interface IAppCommandWebUser IAppCommandWebUser;

+

+#endif 	/* __IAppCommandWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusUser_FWD_DEFINED__

+#define __IPolicyStatusUser_FWD_DEFINED__

+typedef interface IPolicyStatusUser IPolicyStatusUser;

+

+#endif 	/* __IPolicyStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueUser_FWD_DEFINED__

+#define __IPolicyStatusValueUser_FWD_DEFINED__

+typedef interface IPolicyStatusValueUser IPolicyStatusValueUser;

+

+#endif 	/* __IPolicyStatusValueUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2User_FWD_DEFINED__

+#define __IPolicyStatus2User_FWD_DEFINED__

+typedef interface IPolicyStatus2User IPolicyStatus2User;

+

+#endif 	/* __IPolicyStatus2User_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3User_FWD_DEFINED__

+#define __IPolicyStatus3User_FWD_DEFINED__

+typedef interface IPolicyStatus3User IPolicyStatus3User;

+

+#endif 	/* __IPolicyStatus3User_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+/* interface __MIDL_itf_updater_legacy_idl_user_0000_0000 */

+/* [local] */ 

+

+typedef 

+enum CurrentState

+    {

+        STATE_INIT	= 1,

+        STATE_WAITING_TO_CHECK_FOR_UPDATE	= 2,

+        STATE_CHECKING_FOR_UPDATE	= 3,

+        STATE_UPDATE_AVAILABLE	= 4,

+        STATE_WAITING_TO_DOWNLOAD	= 5,

+        STATE_RETRYING_DOWNLOAD	= 6,

+        STATE_DOWNLOADING	= 7,

+        STATE_DOWNLOAD_COMPLETE	= 8,

+        STATE_EXTRACTING	= 9,

+        STATE_APPLYING_DIFFERENTIAL_PATCH	= 10,

+        STATE_READY_TO_INSTALL	= 11,

+        STATE_WAITING_TO_INSTALL	= 12,

+        STATE_INSTALLING	= 13,

+        STATE_INSTALL_COMPLETE	= 14,

+        STATE_PAUSED	= 15,

+        STATE_NO_UPDATE	= 16,

+        STATE_ERROR	= 17

+    } 	CurrentState;

+

+

+enum AppCommandStatus

+    {

+        COMMAND_STATUS_INIT	= 1,

+        COMMAND_STATUS_RUNNING	= 2,

+        COMMAND_STATUS_ERROR	= 3,

+        COMMAND_STATUS_COMPLETE	= 4

+    } ;

+

+

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_user_0000_0000_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_user_0000_0000_v0_0_s_ifspec;

+

+#ifndef __IAppVersionWeb_INTERFACE_DEFINED__

+#define __IAppVersionWeb_INTERFACE_DEFINED__

+

+/* interface IAppVersionWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AA10D17D-7A09-48AC-B1E4-F124937E3D26")

+    IAppVersionWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWeb * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebVtbl;

+

+    interface IAppVersionWeb

+    {

+        CONST_VTBL struct IAppVersionWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWeb_get_version(This,__MIDL__IAppVersionWeb0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWeb0000) ) 

+

+#define IAppVersionWeb_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWeb_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppVersionWebUser_INTERFACE_DEFINED__

+#define __IAppVersionWebUser_INTERFACE_DEFINED__

+

+/* interface IAppVersionWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AC817E10-993C-470F-8DCA-25F53D70EA8D")

+    IAppVersionWebUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebUser, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebUser, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWebUser * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebUser, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWebUser * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebUserVtbl;

+

+    interface IAppVersionWebUser

+    {

+        CONST_VTBL struct IAppVersionWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWebUser_get_version(This,__MIDL__IAppVersionWebUser0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWebUser0000) ) 

+

+#define IAppVersionWebUser_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWebUser_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentState_INTERFACE_DEFINED__

+#define __ICurrentState_INTERFACE_DEFINED__

+

+/* interface ICurrentState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A643508B-B1E3-4457-9769-32C953BD1D57")

+    ICurrentState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentState * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015);

+        

+        END_INTERFACE

+    } ICurrentStateVtbl;

+

+    interface ICurrentState

+    {

+        CONST_VTBL struct ICurrentStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentState_get_stateValue(This,__MIDL__ICurrentState0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentState0000) ) 

+

+#define ICurrentState_get_availableVersion(This,__MIDL__ICurrentState0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentState0001) ) 

+

+#define ICurrentState_get_bytesDownloaded(This,__MIDL__ICurrentState0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentState0002) ) 

+

+#define ICurrentState_get_totalBytesToDownload(This,__MIDL__ICurrentState0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentState0003) ) 

+

+#define ICurrentState_get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004) ) 

+

+#define ICurrentState_get_nextRetryTime(This,__MIDL__ICurrentState0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentState0005) ) 

+

+#define ICurrentState_get_installProgress(This,__MIDL__ICurrentState0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentState0006) ) 

+

+#define ICurrentState_get_installTimeRemainingMs(This,__MIDL__ICurrentState0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentState0007) ) 

+

+#define ICurrentState_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentState_get_errorCode(This,__MIDL__ICurrentState0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentState0008) ) 

+

+#define ICurrentState_get_extraCode1(This,__MIDL__ICurrentState0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentState0009) ) 

+

+#define ICurrentState_get_completionMessage(This,__MIDL__ICurrentState0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentState0010) ) 

+

+#define ICurrentState_get_installerResultCode(This,__MIDL__ICurrentState0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentState0011) ) 

+

+#define ICurrentState_get_installerResultExtraCode1(This,__MIDL__ICurrentState0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentState0012) ) 

+

+#define ICurrentState_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013) ) 

+

+#define ICurrentState_get_postInstallUrl(This,__MIDL__ICurrentState0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentState0014) ) 

+

+#define ICurrentState_get_postInstallAction(This,__MIDL__ICurrentState0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentState0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentState_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentStateUser_INTERFACE_DEFINED__

+#define __ICurrentStateUser_INTERFACE_DEFINED__

+

+/* interface ICurrentStateUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentStateUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("31479718-D170-467B-9274-27FC3E88CB76")

+    ICurrentStateUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateUser0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentStateUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentStateUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentStateUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateUser0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0015);

+        

+        END_INTERFACE

+    } ICurrentStateUserVtbl;

+

+    interface ICurrentStateUser

+    {

+        CONST_VTBL struct ICurrentStateUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentStateUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentStateUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentStateUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentStateUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentStateUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentStateUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentStateUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentStateUser_get_stateValue(This,__MIDL__ICurrentStateUser0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentStateUser0000) ) 

+

+#define ICurrentStateUser_get_availableVersion(This,__MIDL__ICurrentStateUser0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentStateUser0001) ) 

+

+#define ICurrentStateUser_get_bytesDownloaded(This,__MIDL__ICurrentStateUser0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentStateUser0002) ) 

+

+#define ICurrentStateUser_get_totalBytesToDownload(This,__MIDL__ICurrentStateUser0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentStateUser0003) ) 

+

+#define ICurrentStateUser_get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateUser0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateUser0004) ) 

+

+#define ICurrentStateUser_get_nextRetryTime(This,__MIDL__ICurrentStateUser0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentStateUser0005) ) 

+

+#define ICurrentStateUser_get_installProgress(This,__MIDL__ICurrentStateUser0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentStateUser0006) ) 

+

+#define ICurrentStateUser_get_installTimeRemainingMs(This,__MIDL__ICurrentStateUser0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentStateUser0007) ) 

+

+#define ICurrentStateUser_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentStateUser_get_errorCode(This,__MIDL__ICurrentStateUser0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentStateUser0008) ) 

+

+#define ICurrentStateUser_get_extraCode1(This,__MIDL__ICurrentStateUser0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentStateUser0009) ) 

+

+#define ICurrentStateUser_get_completionMessage(This,__MIDL__ICurrentStateUser0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentStateUser0010) ) 

+

+#define ICurrentStateUser_get_installerResultCode(This,__MIDL__ICurrentStateUser0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentStateUser0011) ) 

+

+#define ICurrentStateUser_get_installerResultExtraCode1(This,__MIDL__ICurrentStateUser0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentStateUser0012) ) 

+

+#define ICurrentStateUser_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateUser0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateUser0013) ) 

+

+#define ICurrentStateUser_get_postInstallUrl(This,__MIDL__ICurrentStateUser0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentStateUser0014) ) 

+

+#define ICurrentStateUser_get_postInstallAction(This,__MIDL__ICurrentStateUser0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentStateUser0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentStateUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_INTERFACE_DEFINED__

+#define __IGoogleUpdate3Web_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3Web */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3Web;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A35E1C5E-0A18-4FF1-8C4D-DD8ED07B0BD0")

+    IGoogleUpdate3Web : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3Web * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3Web * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3Web, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3Web * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebVtbl;

+

+    interface IGoogleUpdate3Web

+    {

+        CONST_VTBL struct IGoogleUpdate3WebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3Web_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3Web_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3Web_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3Web_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3Web_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3Web_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3Web_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3Web_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3Web_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebUser_INTERFACE_DEFINED__

+#define __IGoogleUpdate3WebUser_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3WebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3WebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EE8EE731-C592-4A4F-9774-BB04337B8F46")

+    IGoogleUpdate3WebUser : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3WebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3WebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3WebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3WebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3WebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3WebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3WebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3WebUser, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3WebUser * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebUserVtbl;

+

+    interface IGoogleUpdate3WebUser

+    {

+        CONST_VTBL struct IGoogleUpdate3WebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3WebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3WebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3WebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3WebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3WebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3WebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3WebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3WebUser_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3WebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_INTERFACE_DEFINED__

+#define __IAppBundleWeb_INTERFACE_DEFINED__

+

+/* interface IAppBundleWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("0569DBB9-BAA0-48D5-8543-0F3BE30A1648")

+    IAppBundleWeb : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWeb * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWeb * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebVtbl;

+

+    interface IAppBundleWeb

+    {

+        CONST_VTBL struct IAppBundleWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWeb_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWeb_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWeb_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWeb_get_displayLanguage(This,__MIDL__IAppBundleWeb0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWeb0000) ) 

+

+#define IAppBundleWeb_put_displayLanguage(This,__MIDL__IAppBundleWeb0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWeb0001) ) 

+

+#define IAppBundleWeb_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWeb_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWeb_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWeb_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWeb_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWeb_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWeb_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWeb_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWeb_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWeb_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWebUser_INTERFACE_DEFINED__

+#define __IAppBundleWebUser_INTERFACE_DEFINED__

+

+/* interface IAppBundleWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("CE7A37FD-A255-460C-BAF1-708765EB76EC")

+    IAppBundleWebUser : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebUser0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWebUser0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWebUser0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWebUser * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWebUser * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWebUser * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWebUser * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebUserVtbl;

+

+    interface IAppBundleWebUser

+    {

+        CONST_VTBL struct IAppBundleWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWebUser_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWebUser_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWebUser_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWebUser_get_displayLanguage(This,__MIDL__IAppBundleWebUser0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWebUser0000) ) 

+

+#define IAppBundleWebUser_put_displayLanguage(This,__MIDL__IAppBundleWebUser0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWebUser0001) ) 

+

+#define IAppBundleWebUser_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWebUser_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWebUser_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWebUser_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWebUser_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWebUser_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWebUser_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWebUser_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWebUser_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWebUser_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWebUser_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWebUser_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWeb_INTERFACE_DEFINED__

+#define __IAppWeb_INTERFACE_DEFINED__

+

+/* interface IAppWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("63D941DE-F67B-4E15-8A90-27881DA9EF4A")

+    IAppWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWeb0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWeb * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [in] */ BSTR __MIDL__IAppWeb0002);

+        

+        END_INTERFACE

+    } IAppWebVtbl;

+

+    interface IAppWeb

+    {

+        CONST_VTBL struct IAppWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWeb_get_appId(This,__MIDL__IAppWeb0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWeb0000) ) 

+

+#define IAppWeb_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWeb_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWeb_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWeb_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWeb_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWeb_get_serverInstallDataIndex(This,__MIDL__IAppWeb0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWeb0001) ) 

+

+#define IAppWeb_put_serverInstallDataIndex(This,__MIDL__IAppWeb0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWeb0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWebUser_INTERFACE_DEFINED__

+#define __IAppWebUser_INTERFACE_DEFINED__

+

+/* interface IAppWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("47B9D508-CB72-4F8B-AF00-7D0143603B25")

+    IAppWebUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWebUser0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWebUser * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWebUser * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWebUser * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWebUser * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0001);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWebUser * This,

+            /* [in] */ BSTR __MIDL__IAppWebUser0002);

+        

+        END_INTERFACE

+    } IAppWebUserVtbl;

+

+    interface IAppWebUser

+    {

+        CONST_VTBL struct IAppWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWebUser_get_appId(This,__MIDL__IAppWebUser0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWebUser0000) ) 

+

+#define IAppWebUser_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWebUser_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWebUser_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWebUser_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWebUser_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWebUser_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWebUser_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWebUser_get_serverInstallDataIndex(This,__MIDL__IAppWebUser0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWebUser0001) ) 

+

+#define IAppWebUser_put_serverInstallDataIndex(This,__MIDL__IAppWebUser0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWebUser0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_INTERFACE_DEFINED__

+#define __IAppCommandWeb_INTERFACE_DEFINED__

+

+/* interface IAppCommandWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("10A2D03F-8BC7-49DB-A21E-A7D4429D2759")

+    IAppCommandWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWeb * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebVtbl;

+

+    interface IAppCommandWeb

+    {

+        CONST_VTBL struct IAppCommandWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWeb_get_status(This,__MIDL__IAppCommandWeb0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWeb0000) ) 

+

+#define IAppCommandWeb_get_exitCode(This,__MIDL__IAppCommandWeb0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWeb0001) ) 

+

+#define IAppCommandWeb_get_output(This,__MIDL__IAppCommandWeb0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWeb0002) ) 

+

+#define IAppCommandWeb_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWebUser_INTERFACE_DEFINED__

+#define __IAppCommandWebUser_INTERFACE_DEFINED__

+

+/* interface IAppCommandWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("5515E66F-FA6F-4D74-B5EA-4FCFDA16FE12")

+    IAppCommandWebUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebUser0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWebUser * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWebUser * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebUser0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebUser0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWebUser * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebUserVtbl;

+

+    interface IAppCommandWebUser

+    {

+        CONST_VTBL struct IAppCommandWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWebUser_get_status(This,__MIDL__IAppCommandWebUser0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWebUser0000) ) 

+

+#define IAppCommandWebUser_get_exitCode(This,__MIDL__IAppCommandWebUser0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWebUser0001) ) 

+

+#define IAppCommandWebUser_get_output(This,__MIDL__IAppCommandWebUser0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWebUser0002) ) 

+

+#define IAppCommandWebUser_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_INTERFACE_DEFINED__

+#define __IPolicyStatus_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("6A54FE75-EDC8-404E-A41B-4278C0557151")

+    IPolicyStatus : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusVtbl;

+

+    interface IPolicyStatus

+    {

+        CONST_VTBL struct IPolicyStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatus_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatus_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatus_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatus_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatus_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusUser_INTERFACE_DEFINED__

+#define __IPolicyStatusUser_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EF739C0C-40B0-478D-B76B-3659B8F2B0EB")

+    IPolicyStatusUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatusUser * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusUserVtbl;

+

+    interface IPolicyStatusUser

+    {

+        CONST_VTBL struct IPolicyStatusUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusUser_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatusUser_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatusUser_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatusUser_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatusUser_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatusUser_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatusUser_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatusUser_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatusUser_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_INTERFACE_DEFINED__

+#define __IPolicyStatusValue_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValue */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValue;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2A7D2AE7-8EEE-45B4-B17F-31DAAC82CCBB")

+    IPolicyStatusValue : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValue * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValue * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValue * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueVtbl;

+

+    interface IPolicyStatusValue

+    {

+        CONST_VTBL struct IPolicyStatusValueVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValue_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValue_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValue_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValue_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValue_get_source(This,__MIDL__IPolicyStatusValue0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValue0000) ) 

+

+#define IPolicyStatusValue_get_value(This,__MIDL__IPolicyStatusValue0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValue0001) ) 

+

+#define IPolicyStatusValue_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValue_get_conflictSource(This,__MIDL__IPolicyStatusValue0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValue0002) ) 

+

+#define IPolicyStatusValue_get_conflictValue(This,__MIDL__IPolicyStatusValue0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValue0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValue_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueUser_INTERFACE_DEFINED__

+#define __IPolicyStatusValueUser_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValueUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValueUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7E0A6B39-7CEB-4944-ABFA-F419D201D6A0")

+    IPolicyStatusValueUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValueUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValueUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValueUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValueUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValueUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValueUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValueUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueUserVtbl;

+

+    interface IPolicyStatusValueUser

+    {

+        CONST_VTBL struct IPolicyStatusValueUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValueUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValueUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValueUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValueUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValueUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValueUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValueUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValueUser_get_source(This,__MIDL__IPolicyStatusValueUser0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValueUser0000) ) 

+

+#define IPolicyStatusValueUser_get_value(This,__MIDL__IPolicyStatusValueUser0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValueUser0001) ) 

+

+#define IPolicyStatusValueUser_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValueUser_get_conflictSource(This,__MIDL__IPolicyStatusValueUser0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValueUser0002) ) 

+

+#define IPolicyStatusValueUser_get_conflictValue(This,__MIDL__IPolicyStatusValueUser0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValueUser0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValueUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_INTERFACE_DEFINED__

+#define __IPolicyStatus2_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("06A6AA1E-2680-4076-A7CD-6053722CF454")

+    IPolicyStatus2 : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2Vtbl;

+

+    interface IPolicyStatus2

+    {

+        CONST_VTBL struct IPolicyStatus2Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2User_INTERFACE_DEFINED__

+#define __IPolicyStatus2User_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2User */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2User;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AD91C851-86AC-499F-9BA9-9A561744AA4D")

+    IPolicyStatus2User : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValueUser **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2UserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2User * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2User * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2User * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2User * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2User * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2User * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2User * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2User * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2User * This,

+            /* [out] */ IPolicyStatusValueUser **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2UserVtbl;

+

+    interface IPolicyStatus2User

+    {

+        CONST_VTBL struct IPolicyStatus2UserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2User_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2User_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2User_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2User_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2User_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2User_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2User_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2User_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2User_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2User_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2User_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2User_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2User_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2User_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2User_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2User_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2User_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2User_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2User_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2User_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_INTERFACE_DEFINED__

+#define __IPolicyStatus3_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("029BD175-5035-4E2A-8724-C9D47F4FAEA3")

+    IPolicyStatus3 : public IPolicyStatus2

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3 * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3Vtbl;

+

+    interface IPolicyStatus3

+    {

+        CONST_VTBL struct IPolicyStatus3Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3User_INTERFACE_DEFINED__

+#define __IPolicyStatus3User_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3User */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3User;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("BC39E1E1-E8FA-4E72-903F-3BF346E7E165")

+    IPolicyStatus3User : public IPolicyStatus2User

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3UserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3User * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3User * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3User * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3User * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3User * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3User * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3User * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3User * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3User * This,

+            /* [out] */ IPolicyStatusValueUser **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3User, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3User * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3UserVtbl;

+

+    interface IPolicyStatus3User

+    {

+        CONST_VTBL struct IPolicyStatus3UserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3User_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3User_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3User_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3User_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3User_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3User_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3User_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3User_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3User_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3User_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3User_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3User_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3User_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3User_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3User_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3User_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3User_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3User_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3User_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3User_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3User_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLegacyLib_LIBRARY_DEFINED__

+#define __UpdaterLegacyLib_LIBRARY_DEFINED__

+

+/* library UpdaterLegacyLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLegacyLib;

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("A0FEB7CB-E0D8-4035-A4C9-5620A8C725AD")

+GoogleUpdate3WebUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("FAC5C548-84EC-474C-A4B3-CD414E09B14C")

+GoogleUpdate3WebSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebServiceClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("687DCE9A-57BE-4026-BEC4-C0A9ACBBCAF2")

+GoogleUpdate3WebServiceClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("E432DCFE-6A32-4C07-B038-9D74AC80D6AB")

+PolicyStatusUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("F675D224-BD54-40E9-AECB-AA3B64EB9863")

+PolicyStatusSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_ProcessLauncherClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("CEC2877D-4856-460E-BE73-11DD7CC7C821")

+ProcessLauncherClass;

+#endif

+#endif /* __UpdaterLegacyLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user.tlb
new file mode 100644
index 0000000..9b523e5
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user_i.c
new file mode 100644
index 0000000..6317d6da
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user_i.c
@@ -0,0 +1,157 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWeb,0xAA10D17D,0x7A09,0x48AC,0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWebUser,0xAC817E10,0x993C,0x470F,0x8D,0xCA,0x25,0xF5,0x3D,0x70,0xEA,0x8D);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentState,0xA643508B,0xB1E3,0x4457,0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentStateUser,0x31479718,0xD170,0x467B,0x92,0x74,0x27,0xFC,0x3E,0x88,0xCB,0x76);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3Web,0xA35E1C5E,0x0A18,0x4FF1,0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3WebUser,0xEE8EE731,0xC592,0x4A4F,0x97,0x74,0xBB,0x04,0x33,0x7B,0x8F,0x46);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWeb,0x0569DBB9,0xBAA0,0x48D5,0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWebUser,0xCE7A37FD,0xA255,0x460C,0xBA,0xF1,0x70,0x87,0x65,0xEB,0x76,0xEC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWeb,0x63D941DE,0xF67B,0x4E15,0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWebUser,0x47B9D508,0xCB72,0x4F8B,0xAF,0x00,0x7D,0x01,0x43,0x60,0x3B,0x25);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWeb,0x10A2D03F,0x8BC7,0x49DB,0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWebUser,0x5515E66F,0xFA6F,0x4D74,0xB5,0xEA,0x4F,0xCF,0xDA,0x16,0xFE,0x12);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus,0x6A54FE75,0xEDC8,0x404E,0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusUser,0xEF739C0C,0x40B0,0x478D,0xB7,0x6B,0x36,0x59,0xB8,0xF2,0xB0,0xEB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValue,0x2A7D2AE7,0x8EEE,0x45B4,0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValueUser,0x7E0A6B39,0x7CEB,0x4944,0xAB,0xFA,0xF4,0x19,0xD2,0x01,0xD6,0xA0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2,0x06A6AA1E,0x2680,0x4076,0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2User,0xAD91C851,0x86AC,0x499F,0x9B,0xA9,0x9A,0x56,0x17,0x44,0xAA,0x4D);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3,0x029BD175,0x5035,0x4E2A,0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3User,0xBC39E1E1,0xE8FA,0x4E72,0x90,0x3F,0x3B,0xF3,0x46,0xE7,0xE1,0x65);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLegacyLib,0x7A1FDE1F,0xAAA9,0x441B,0xB9,0xAA,0x95,0xB3,0x1D,0x78,0x59,0x2B);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebUserClass,0xA0FEB7CB,0xE0D8,0x4035,0xA4,0xC9,0x56,0x20,0xA8,0xC7,0x25,0xAD);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebSystemClass,0xFAC5C548,0x84EC,0x474C,0xA4,0xB3,0xCD,0x41,0x4E,0x09,0xB1,0x4C);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebServiceClass,0x687DCE9A,0x57BE,0x4026,0xBE,0xC4,0xC0,0xA9,0xAC,0xBB,0xCA,0xF2);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusUserClass,0xE432DCFE,0x6A32,0x4C07,0xB0,0x38,0x9D,0x74,0xAC,0x80,0xD6,0xAB);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusSystemClass,0xF675D224,0xBD54,0x40E9,0xAE,0xCB,0xAA,0x3B,0x64,0xEB,0x98,0x63);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_ProcessLauncherClass,0xCEC2877D,0x4856,0x460E,0xBE,0x73,0x11,0xDD,0x7C,0xC7,0xC8,0x21);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user_p.c
new file mode 100644
index 0000000..200cd9c
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/arm64/updater_legacy_idl_user_p.c
@@ -0,0 +1,7110 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=ARM64 8.01.0628 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_ARM64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_legacy_idl_user.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1103                              

+#define PROC_FORMAT_STRING_SIZE   3669                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_user_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_user_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_user__MIDL_TypeFormatString;

+extern const updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING updater_legacy_idl_user__MIDL_ProcFormatString;

+extern const updater_legacy_idl_user_MIDL_EXPR_FORMAT_STRING updater_legacy_idl_user__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentStateUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentStateUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3WebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValueUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2User_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2User_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3User_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3User_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_ARM64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING updater_legacy_idl_user__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x7 ),	/* 7 */

+/*  8 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 18 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 26 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 28 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0000 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0000 */

+

+

+	/* Parameter __MIDL__IAppWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppWeb0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWeb0000 */

+

+/* 30 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 32 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 34 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 36 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 38 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 40 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_packageCount */

+

+

+	/* Procedure get_packageCount */

+

+/* 42 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 44 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 50 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 52 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 54 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 56 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 58 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 64 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 66 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 68 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 70 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IAppCommandWebUser0001 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0001 */

+

+

+	/* Parameter count */

+

+

+	/* Parameter count */

+

+/* 72 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 74 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 76 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 78 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 80 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 82 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageWeb */

+

+

+	/* Procedure get_packageWeb */

+

+/* 84 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 86 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 90 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 92 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 94 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 96 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 98 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 100 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 104 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 108 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 110 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 112 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 114 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 116 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 118 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter package */

+

+

+	/* Parameter package */

+

+/* 120 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 122 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 124 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 126 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 128 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 130 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_stateValue */

+

+

+	/* Procedure get_stateValue */

+

+/* 132 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 134 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 138 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 140 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 144 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 146 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 148 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 150 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 152 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 154 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 156 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 158 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 160 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter minutes */

+

+

+	/* Parameter minutes */

+

+

+	/* Parameter __MIDL__IAppCommandWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0000 */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0000 */

+

+

+	/* Parameter __MIDL__ICurrentState0000 */

+

+/* 162 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 164 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 166 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 168 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 170 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 172 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_availableVersion */

+

+

+	/* Procedure get_availableVersion */

+

+/* 174 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 176 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 180 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 182 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 184 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 186 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 188 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 190 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 192 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 194 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 196 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 198 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 200 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 202 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0001 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0001 */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0001 */

+

+

+	/* Parameter __MIDL__ICurrentState0001 */

+

+/* 204 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 206 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 208 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 210 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 212 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 214 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_bytesDownloaded */

+

+

+	/* Procedure get_bytesDownloaded */

+

+/* 216 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 218 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 222 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 224 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 226 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 228 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 230 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 232 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 234 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 236 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 238 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 240 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 242 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 244 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0002 */

+

+

+	/* Parameter __MIDL__ICurrentState0002 */

+

+/* 246 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 248 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 250 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 252 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 254 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 256 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+/* 258 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 260 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 264 */	NdrFcShort( 0xa ),	/* 10 */

+/* 266 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 270 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 272 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 274 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 276 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 280 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 282 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 284 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 286 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter limit */

+

+

+	/* Parameter limit */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0003 */

+

+

+	/* Parameter __MIDL__ICurrentState0003 */

+

+/* 288 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 290 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 292 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 294 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 296 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 298 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+/* 300 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 302 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 306 */	NdrFcShort( 0xb ),	/* 11 */

+/* 308 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 310 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 312 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 314 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 316 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 318 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 324 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 326 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 328 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter days */

+

+

+	/* Parameter days */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0004 */

+

+

+	/* Parameter __MIDL__ICurrentState0004 */

+

+/* 330 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 332 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 334 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 336 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 338 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 340 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextRetryTime */

+

+

+	/* Procedure get_nextRetryTime */

+

+/* 342 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 344 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 348 */	NdrFcShort( 0xc ),	/* 12 */

+/* 350 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 352 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 354 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 356 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 358 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 360 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 362 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 364 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 366 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 368 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 370 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0005 */

+

+

+	/* Parameter __MIDL__ICurrentState0005 */

+

+/* 372 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 374 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 376 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 378 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 380 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 382 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 384 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 386 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 390 */	NdrFcShort( 0xd ),	/* 13 */

+/* 392 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 394 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 396 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 398 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 400 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 406 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 410 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 412 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0006 */

+

+

+	/* Parameter __MIDL__ICurrentState0006 */

+

+/* 414 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 416 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 418 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 420 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 422 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 424 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installTimeRemainingMs */

+

+

+	/* Procedure get_installTimeRemainingMs */

+

+/* 426 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 428 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 432 */	NdrFcShort( 0xe ),	/* 14 */

+/* 434 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 436 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 438 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 440 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 442 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 450 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 452 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 454 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0007 */

+

+

+	/* Parameter __MIDL__ICurrentState0007 */

+

+/* 456 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 458 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 460 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 462 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 464 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 466 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isCanceled */

+

+

+	/* Procedure get_isCanceled */

+

+/* 468 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 470 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 474 */	NdrFcShort( 0xf ),	/* 15 */

+/* 476 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 480 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 482 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 484 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 490 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 492 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 494 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 496 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter is_canceled */

+

+

+	/* Parameter is_canceled */

+

+/* 498 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 500 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 502 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 504 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 506 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 508 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 510 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 512 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 516 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 518 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 522 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 524 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 526 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 528 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 530 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 532 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 534 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 536 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 538 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0008 */

+

+

+	/* Parameter __MIDL__ICurrentState0008 */

+

+/* 540 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 542 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 544 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 546 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 548 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 550 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 552 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 554 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 558 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 560 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 562 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 564 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 566 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 568 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 570 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 572 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 574 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 576 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 578 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 580 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0009 */

+

+

+	/* Parameter __MIDL__ICurrentState0009 */

+

+/* 582 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 584 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 586 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 588 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 590 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 592 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_completionMessage */

+

+

+	/* Procedure get_completionMessage */

+

+/* 594 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 596 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 600 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 602 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 606 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 608 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 610 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 612 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 618 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 620 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 622 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0010 */

+

+

+	/* Parameter __MIDL__ICurrentState0010 */

+

+/* 624 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 626 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 628 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 630 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 632 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 634 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultCode */

+

+

+	/* Procedure get_installerResultCode */

+

+/* 636 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 638 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 642 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 644 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 646 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 648 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 650 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 652 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 654 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 656 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 660 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 662 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 664 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0011 */

+

+

+	/* Parameter __MIDL__ICurrentState0011 */

+

+/* 666 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 668 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 670 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 672 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 674 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 676 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultExtraCode1 */

+

+

+	/* Procedure get_installerResultExtraCode1 */

+

+/* 678 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 680 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 684 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 686 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 688 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 690 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 692 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 694 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 696 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 698 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 704 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 706 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0012 */

+

+

+	/* Parameter __MIDL__ICurrentState0012 */

+

+/* 708 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 710 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 712 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 714 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 716 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 718 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+/* 720 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 722 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 726 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 728 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 730 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 732 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 734 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 736 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 738 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 740 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 744 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 746 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 748 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0013 */

+

+

+	/* Parameter __MIDL__ICurrentState0013 */

+

+/* 750 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 752 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 754 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 756 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 758 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 760 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallUrl */

+

+

+	/* Procedure get_postInstallUrl */

+

+/* 762 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 764 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 768 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 770 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 774 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 776 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 778 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 780 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 786 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 788 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 790 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0014 */

+

+

+	/* Parameter __MIDL__ICurrentState0014 */

+

+/* 792 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 794 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 796 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 798 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 800 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 802 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallAction */

+

+

+	/* Procedure get_postInstallAction */

+

+/* 804 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 806 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 812 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 814 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 816 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 818 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 820 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 822 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 828 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 830 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 832 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0015 */

+

+

+	/* Parameter __MIDL__ICurrentState0015 */

+

+/* 834 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 836 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 838 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 840 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 842 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 844 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createAppBundleWeb */

+

+

+	/* Procedure createAppBundleWeb */

+

+/* 846 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 848 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 852 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 854 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 856 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 858 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 860 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 862 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 868 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 870 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 872 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 874 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter app_bundle_web */

+

+

+	/* Parameter app_bundle_web */

+

+/* 876 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 878 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 880 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 882 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 884 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 886 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createApp */

+

+

+	/* Procedure createApp */

+

+/* 888 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 890 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 894 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 896 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 898 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 900 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 902 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 904 */	0x10,		/* 16 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 906 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 908 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 910 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 912 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 914 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 916 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 918 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter app_guid */

+

+

+	/* Parameter app_guid */

+

+/* 920 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 922 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 924 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter brand_code */

+

+

+	/* Parameter brand_code */

+

+/* 926 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 928 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 930 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter language */

+

+

+	/* Parameter language */

+

+/* 932 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 934 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 936 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter ap */

+

+

+	/* Parameter ap */

+

+/* 938 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 940 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 942 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 944 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 946 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 948 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createInstalledApp */

+

+

+	/* Procedure createInstalledApp */

+

+/* 950 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 952 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 956 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 958 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 960 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 962 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 964 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 966 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 968 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 970 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 972 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 974 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 976 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 978 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 980 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 982 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 984 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 986 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 988 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 990 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure createAllInstalledApps */

+

+

+	/* Procedure createAllInstalledApps */

+

+/* 992 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 994 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 998 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1000 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1002 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1004 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1006 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1008 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1010 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1012 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1014 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1016 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1018 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1020 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1022 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1024 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_displayLanguage */

+

+

+	/* Procedure get_displayLanguage */

+

+/* 1026 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1028 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1032 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1034 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1036 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1038 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1040 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1042 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1044 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1050 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1052 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1054 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0002 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0002 */

+

+

+	/* Parameter __MIDL__IAppBundleWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0000 */

+

+/* 1056 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1058 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1060 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1062 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1064 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1066 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_displayLanguage */

+

+

+	/* Procedure put_displayLanguage */

+

+/* 1068 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1070 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1074 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1076 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1078 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1080 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1082 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1084 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1086 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1088 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1090 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1092 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1094 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1096 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IAppBundleWebUser0001 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0001 */

+

+/* 1098 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1100 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1102 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1104 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1106 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1108 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_parentHWND */

+

+

+	/* Procedure put_parentHWND */

+

+/* 1110 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1112 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1116 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1118 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1120 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1122 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1124 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 1126 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1130 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1134 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1136 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1138 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter hwnd */

+

+

+	/* Parameter hwnd */

+

+/* 1140 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1142 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1144 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1148 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appWeb */

+

+

+	/* Procedure get_appWeb */

+

+/* 1152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1158 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1160 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1162 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1166 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1168 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1176 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1178 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 1180 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 1182 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1184 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1186 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter app_web */

+

+

+	/* Parameter app_web */

+

+/* 1188 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1190 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1192 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1194 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1196 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1198 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure initialize */

+

+

+	/* Procedure initialize */

+

+/* 1200 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1202 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1206 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1208 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1210 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1212 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1214 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1216 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1218 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1220 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1222 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1224 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1226 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1228 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1230 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1232 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure checkForUpdate */

+

+

+	/* Procedure checkForUpdate */

+

+/* 1234 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1236 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1240 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1242 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1244 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1246 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1248 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1250 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1254 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1256 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1258 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1260 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1262 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1264 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1266 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure download */

+

+

+	/* Procedure download */

+

+/* 1268 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1270 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1274 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 1276 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1280 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1282 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1284 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1288 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1290 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1292 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1294 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1296 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1298 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1300 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure install */

+

+

+	/* Procedure install */

+

+/* 1302 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1304 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1308 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 1310 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1312 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1314 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1316 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1318 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1326 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1328 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1330 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1332 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1334 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure pause */

+

+

+	/* Procedure pause */

+

+/* 1336 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1338 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1342 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 1344 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1346 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1348 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1350 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1352 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1354 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1356 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1358 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1360 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1362 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1364 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1366 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1368 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure resume */

+

+

+	/* Procedure resume */

+

+/* 1370 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1372 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1376 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 1378 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1380 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1382 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1384 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1386 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1388 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1390 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1392 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1394 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1396 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1398 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1400 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1402 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1404 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1406 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1410 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 1412 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1414 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1416 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1418 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1420 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1422 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1424 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1426 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1428 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1430 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1432 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1434 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1436 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure downloadPackage */

+

+

+	/* Procedure downloadPackage */

+

+/* 1438 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1440 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1444 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 1446 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1450 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1452 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1454 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1456 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1458 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1460 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1462 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1464 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 1466 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1468 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1470 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1472 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter package_name */

+

+

+	/* Parameter package_name */

+

+/* 1474 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1476 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1478 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1480 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1482 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1484 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1486 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1488 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1492 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 1494 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1496 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1498 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1500 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1502 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1504 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1506 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1508 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1510 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1512 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1514 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1516 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1518 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1520 */	NdrFcShort( 0x3fe ),	/* Type Offset=1022 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1522 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1524 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1526 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentVersionWeb */

+

+

+	/* Procedure get_currentVersionWeb */

+

+/* 1528 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1530 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1534 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1536 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1538 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1540 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1542 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1544 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1546 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1554 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1556 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter current */

+

+

+	/* Parameter current */

+

+/* 1558 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1560 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1562 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1564 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1566 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1568 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersionWeb */

+

+

+	/* Procedure get_nextVersionWeb */

+

+/* 1570 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1572 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1576 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1578 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1580 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1582 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1584 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1586 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1594 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1596 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1598 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter next */

+

+

+	/* Parameter next */

+

+/* 1600 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1602 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1604 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1606 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1608 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1610 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_command */

+

+

+	/* Procedure get_command */

+

+/* 1612 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1614 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1618 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1620 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1622 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1624 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1626 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1628 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1630 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1632 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1636 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 1638 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 1640 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter command_id */

+

+

+	/* Parameter command_id */

+

+/* 1642 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1644 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1646 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter command */

+

+

+	/* Parameter command */

+

+/* 1648 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1650 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1652 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1654 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1656 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1658 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1660 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1662 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1666 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1668 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1672 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1674 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1676 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1678 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1680 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1684 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1686 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1688 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1690 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1692 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1694 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1696 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1700 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1702 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1706 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1708 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1710 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1712 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1714 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1716 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1718 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1720 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1722 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1724 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1726 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1728 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1730 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1732 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1734 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure launch */

+

+

+	/* Procedure launch */

+

+/* 1736 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1738 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1742 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1744 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1748 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1750 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1752 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1760 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1762 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1764 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1766 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1768 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure uninstall */

+

+

+	/* Procedure uninstall */

+

+/* 1770 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1772 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1776 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1778 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1782 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1784 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1786 */	0xc,		/* 12 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1788 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1790 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1792 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1794 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1796 */	0x1,		/* 1 */

+			0x80,		/* 128 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1798 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1800 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1802 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_serverInstallDataIndex */

+

+

+	/* Procedure get_serverInstallDataIndex */

+

+/* 1804 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1806 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1810 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1812 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1814 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1816 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1818 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1820 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1822 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1828 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1830 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1832 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IAppWebUser0001 */

+

+

+	/* Parameter __MIDL__IAppWeb0001 */

+

+/* 1834 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1836 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1838 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1840 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1842 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1844 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_serverInstallDataIndex */

+

+

+	/* Procedure put_serverInstallDataIndex */

+

+/* 1846 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1848 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1852 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1854 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1856 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1858 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1860 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1862 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1866 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1868 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1870 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1872 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1874 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IAppWebUser0002 */

+

+

+	/* Parameter __MIDL__IAppWeb0002 */

+

+/* 1876 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1878 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1880 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1882 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1884 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1886 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_output */

+

+

+	/* Procedure get_output */

+

+/* 1888 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1890 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1894 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1896 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1898 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1900 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1902 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1904 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1906 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1908 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1910 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1912 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 1914 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 1916 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter pref */

+

+

+	/* Parameter pref */

+

+

+	/* Parameter __MIDL__IAppCommandWebUser0002 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0002 */

+

+/* 1918 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1920 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1922 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1924 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1926 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1928 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure execute */

+

+

+	/* Procedure execute */

+

+/* 1930 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1932 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1936 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1938 */	NdrFcShort( 0x58 ),	/* ARM64 Stack size/offset = 88 */

+/* 1940 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1942 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1944 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xa,		/* 10 */

+/* 1946 */	0x16,		/* 22 */

+			0x85,		/* Ext Flags:  new corr desc, srv corr check, has big byval param */

+/* 1948 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1950 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1952 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1954 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1956 */	0xa,		/* 10 */

+			0x80,		/* 128 */

+/* 1958 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 1960 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+/* 1962 */	0x85,		/* 133 */

+			0x86,		/* 134 */

+/* 1964 */	0x87,		/* 135 */

+			0xf8,		/* 248 */

+/* 1966 */	0xf8,		/* 248 */

+			0x0,		/* 0 */

+

+	/* Parameter substitution1 */

+

+

+	/* Parameter substitution1 */

+

+/* 1968 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1970 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 1972 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution2 */

+

+

+	/* Parameter substitution2 */

+

+/* 1974 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1976 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 1978 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution3 */

+

+

+	/* Parameter substitution3 */

+

+/* 1980 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1982 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 1984 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution4 */

+

+

+	/* Parameter substitution4 */

+

+/* 1986 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1988 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 1990 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution5 */

+

+

+	/* Parameter substitution5 */

+

+/* 1992 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1994 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 1996 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution6 */

+

+

+	/* Parameter substitution6 */

+

+/* 1998 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2000 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2002 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution7 */

+

+

+	/* Parameter substitution7 */

+

+/* 2004 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2006 */	NdrFcShort( 0x38 ),	/* ARM64 Stack size/offset = 56 */

+/* 2008 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution8 */

+

+

+	/* Parameter substitution8 */

+

+/* 2010 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2012 */	NdrFcShort( 0x40 ),	/* ARM64 Stack size/offset = 64 */

+/* 2014 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution9 */

+

+

+	/* Parameter substitution9 */

+

+/* 2016 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 2018 */	NdrFcShort( 0x48 ),	/* ARM64 Stack size/offset = 72 */

+/* 2020 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2022 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2024 */	NdrFcShort( 0x50 ),	/* ARM64 Stack size/offset = 80 */

+/* 2026 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2028 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2030 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2034 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2036 */	NdrFcShort( 0x30 ),	/* ARM64 Stack size/offset = 48 */

+/* 2038 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2040 */	NdrFcShort( 0x76 ),	/* 118 */

+/* 2042 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x5,		/* 5 */

+/* 2044 */	0x10,		/* 16 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2048 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2050 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2052 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 2054 */	0x5,		/* 5 */

+			0x80,		/* 128 */

+/* 2056 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+/* 2058 */	0x83,		/* 131 */

+			0x84,		/* 132 */

+

+	/* Parameter start_hour */

+

+

+	/* Parameter start_hour */

+

+/* 2060 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2062 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2064 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter start_min */

+

+

+	/* Parameter start_min */

+

+/* 2066 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2068 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2070 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter duration_min */

+

+

+	/* Parameter duration_min */

+

+/* 2072 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2074 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2076 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter are_updates_suppressed */

+

+

+	/* Parameter are_updates_suppressed */

+

+/* 2078 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2080 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2082 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2084 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2086 */	NdrFcShort( 0x28 ),	/* ARM64 Stack size/offset = 40 */

+/* 2088 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2090 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2092 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2096 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2098 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2102 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2104 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2106 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2108 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2110 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2112 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2114 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2116 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2118 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2120 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2122 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2124 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 2126 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2128 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2130 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2132 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2134 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2136 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2138 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2140 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2144 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2146 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2148 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2150 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 2152 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2154 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2156 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2158 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2162 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2164 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2166 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2168 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2170 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2172 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 2174 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2176 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2178 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2180 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2182 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2184 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2186 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2188 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2192 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2194 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2196 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2198 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2200 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2202 */	0xe,		/* 14 */

+			0x7,		/* Ext Flags:  new corr desc, clt corr check, srv corr check, */

+/* 2204 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2206 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2208 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2210 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2212 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2214 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2216 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2218 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2220 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter prefix */

+

+

+	/* Parameter prefix */

+

+/* 2222 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2224 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2226 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2228 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2230 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2232 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2234 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2236 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2240 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2242 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2244 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2246 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 2248 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2250 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2254 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2256 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2258 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2260 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2262 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2264 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2266 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2268 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter rollback_allowed */

+

+

+	/* Parameter rollback_allowed */

+

+/* 2270 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2272 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2274 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2276 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2278 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2280 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_hasConflict */

+

+

+	/* Procedure get_hasConflict */

+

+/* 2282 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2284 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2288 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 2290 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2292 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2294 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 2296 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2298 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2300 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2302 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2306 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2308 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2310 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter has_conflict */

+

+

+	/* Parameter has_conflict */

+

+/* 2312 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2314 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2316 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2318 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2320 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2322 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictValue */

+

+

+	/* Procedure get_conflictValue */

+

+/* 2324 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2326 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2330 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2332 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2336 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2338 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2340 */	0xe,		/* 14 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 2342 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2344 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2346 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2348 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2350 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2352 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0003 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0003 */

+

+/* 2354 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2356 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2358 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2360 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2362 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2364 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckedTime */

+

+

+	/* Procedure get_lastCheckedTime */

+

+/* 2366 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2368 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2372 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2374 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2378 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 2380 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2382 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2384 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2386 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2388 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2390 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2392 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2394 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter last_checked */

+

+

+	/* Parameter last_checked */

+

+/* 2396 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2398 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2400 */	0xc,		/* FC_DOUBLE */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2402 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2404 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2406 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2408 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2410 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2414 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2416 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2418 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2420 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2422 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2424 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2426 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2430 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2432 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2434 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2436 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2438 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2440 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2442 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2444 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2446 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2448 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2450 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2452 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2456 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2458 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2460 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2462 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2464 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2466 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2468 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2470 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2474 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2476 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2478 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter value */

+

+/* 2480 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2482 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2484 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2486 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2488 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2490 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2492 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2494 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2496 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2498 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2500 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2504 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2506 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2508 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2510 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2512 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2514 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2516 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2518 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2522 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2524 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2526 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2528 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2530 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2532 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2534 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2536 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2538 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2540 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2542 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2546 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2548 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2552 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2554 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2556 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2562 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2564 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2566 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2568 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2570 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2572 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2574 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2576 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2578 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2580 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2582 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2584 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2588 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2590 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2594 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2596 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2598 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2600 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2602 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2606 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2608 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2610 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2612 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2614 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2616 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2618 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2620 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2622 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2624 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2626 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2630 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2632 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2636 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2638 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2640 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2644 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2646 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2648 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2650 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2652 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2654 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2656 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2658 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2660 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2662 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2664 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2666 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2668 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2672 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2674 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2676 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2678 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2680 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2682 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2684 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2686 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2688 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2690 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2692 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2694 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2696 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2698 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2700 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2702 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2704 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2706 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2708 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2710 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2714 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2716 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2718 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2720 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2722 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2724 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2726 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2728 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2730 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2732 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 2734 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 2736 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 2738 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2740 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2742 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2744 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2746 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2748 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2750 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2752 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2756 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2758 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2760 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2762 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2764 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2766 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2768 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2770 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2774 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2776 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2778 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2780 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2782 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2784 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2786 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2788 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2790 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2792 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2794 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2796 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2798 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2800 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2804 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2806 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2810 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2812 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2814 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2818 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2822 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2824 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2826 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2828 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2830 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2832 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2834 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2836 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2838 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2840 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2842 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2844 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2846 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2848 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2852 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2854 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2856 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2858 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2860 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2862 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2866 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2868 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2870 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2872 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2874 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2876 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2878 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2880 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2882 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2884 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2886 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2888 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2890 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2892 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2894 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2896 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2900 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 2902 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2904 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2906 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2908 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2910 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2912 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2914 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2916 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2918 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2920 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2922 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2924 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2926 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2928 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2930 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2932 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2934 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2936 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2938 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2940 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 2942 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2944 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2948 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2950 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 2952 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2954 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2956 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2958 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2960 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2962 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2964 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2966 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 2968 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 2970 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 2972 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2974 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 2976 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2978 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2980 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 2982 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2984 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2986 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 2988 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2990 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2992 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2996 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2998 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3000 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3002 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3004 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3006 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3008 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3010 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3012 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3014 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3016 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3018 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3020 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3022 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3024 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3026 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3028 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3030 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 3032 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3034 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3038 */	NdrFcShort( 0xb ),	/* 11 */

+/* 3040 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3042 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 3044 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3046 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3048 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3050 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3052 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3054 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3056 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3058 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3060 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter value */

+

+/* 3062 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3064 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3066 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 3068 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 3070 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3072 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3074 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3076 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3078 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 3080 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3082 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3086 */	NdrFcShort( 0xc ),	/* 12 */

+/* 3088 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3090 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3092 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3094 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3096 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3104 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3106 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3108 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3110 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3112 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3114 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3116 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3118 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3120 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 3122 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3124 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3128 */	NdrFcShort( 0xd ),	/* 13 */

+/* 3130 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3134 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3136 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3138 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3144 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3146 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3148 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3150 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3152 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3154 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3156 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3158 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3160 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3162 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 3164 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3166 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3170 */	NdrFcShort( 0xe ),	/* 14 */

+/* 3172 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3176 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3178 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3180 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3182 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3184 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3186 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3188 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3190 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3192 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3194 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3196 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3198 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3200 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3202 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3204 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 3206 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3208 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3212 */	NdrFcShort( 0xf ),	/* 15 */

+/* 3214 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3216 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3218 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3220 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3222 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3224 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3226 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3228 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3230 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3232 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3234 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3236 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3238 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3240 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3242 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3244 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3246 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 3248 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3250 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3254 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 3256 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3258 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3260 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3262 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3264 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3266 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3272 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3274 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3276 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3278 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3280 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3282 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3284 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3286 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3288 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 3290 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3292 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3296 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 3298 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3300 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3302 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3304 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3306 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3308 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3310 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3312 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3314 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 3316 */	0x2,		/* 2 */

+			0x80,		/* 128 */

+/* 3318 */	0x81,		/* 129 */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3320 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3322 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3324 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3326 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3328 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3330 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 3332 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3334 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3338 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 3340 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3342 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3344 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3346 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3348 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3350 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3352 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3354 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3356 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3358 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3360 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3362 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3364 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3366 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3368 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3370 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3372 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3374 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3376 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3378 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 3380 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3386 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 3388 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3390 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3392 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3394 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3396 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3398 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3400 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3404 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3406 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3408 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3410 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3412 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3414 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3416 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3418 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3420 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3422 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3424 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3426 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 3428 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3430 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3434 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 3436 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3438 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3440 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3442 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3444 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3448 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3452 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3454 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3456 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3458 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3460 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3462 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3464 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3466 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3468 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3470 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3472 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3474 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 3476 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3478 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3482 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 3484 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3488 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3490 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3492 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3494 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3496 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3498 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3500 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3502 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3504 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3506 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3508 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3510 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3512 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3514 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3516 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3518 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3520 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3522 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 3524 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3526 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3530 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 3532 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3534 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3536 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3538 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3540 */	0xe,		/* 14 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3542 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3544 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3546 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3548 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3550 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3552 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter app_id */

+

+/* 3554 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3556 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3558 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3560 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3562 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3564 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3566 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3568 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3570 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3572 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3574 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3578 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3580 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3582 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3584 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3586 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3588 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3596 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3598 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3600 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter is_machine */

+

+/* 3602 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3604 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3606 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3608 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3610 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3612 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 3614 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3616 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3618 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3620 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3622 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3626 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3628 */	NdrFcShort( 0x20 ),	/* ARM64 Stack size/offset = 32 */

+/* 3630 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3632 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3634 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3636 */	0xe,		/* 14 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3638 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3640 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3644 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3646 */	0x3,		/* 3 */

+			0x80,		/* 128 */

+/* 3648 */	0x81,		/* 129 */

+			0x82,		/* 130 */

+

+	/* Parameter is_machine */

+

+/* 3650 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3652 */	NdrFcShort( 0x8 ),	/* ARM64 Stack size/offset = 8 */

+/* 3654 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3656 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3658 */	NdrFcShort( 0x10 ),	/* ARM64 Stack size/offset = 16 */

+/* 3660 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3662 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3664 */	NdrFcShort( 0x18 ),	/* ARM64 Stack size/offset = 24 */

+/* 3666 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_user__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  4 */	NdrFcShort( 0x1c ),	/* Offset= 28 (32) */

+/*  6 */	

+			0x13, 0x0,	/* FC_OP */

+/*  8 */	NdrFcShort( 0xe ),	/* Offset= 14 (22) */

+/* 10 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 12 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 14 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 16 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 18 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 20 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 22 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 24 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 26 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (10) */

+/* 28 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 30 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 32 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 34 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 36 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0xffde ),	/* Offset= -34 (6) */

+/* 42 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 44 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 46 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 48 */	NdrFcShort( 0x2 ),	/* Offset= 2 (50) */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 62 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 64 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 66 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 68 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 70 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 72 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 74 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 76 */	

+			0x12, 0x0,	/* FC_UP */

+/* 78 */	NdrFcShort( 0xffc8 ),	/* Offset= -56 (22) */

+/* 80 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (76) */

+/* 90 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/* 92 */	NdrFcShort( 0x3a2 ),	/* Offset= 930 (1022) */

+/* 94 */	

+			0x13, 0x0,	/* FC_OP */

+/* 96 */	NdrFcShort( 0x38a ),	/* Offset= 906 (1002) */

+/* 98 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 100 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 102 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 104 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 106 */	NdrFcShort( 0x2 ),	/* Offset= 2 (108) */

+/* 108 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 110 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 112 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 116 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 118 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 122 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 124 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 128 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 130 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 134 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 136 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 140 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 142 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 146 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 148 */	NdrFcLong( 0xb ),	/* 11 */

+/* 152 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 154 */	NdrFcLong( 0xa ),	/* 10 */

+/* 158 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 160 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 164 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (396) */

+/* 166 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 170 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 172 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 176 */	NdrFcShort( 0xff56 ),	/* Offset= -170 (6) */

+/* 178 */	NdrFcLong( 0xd ),	/* 13 */

+/* 182 */	NdrFcShort( 0xdc ),	/* Offset= 220 (402) */

+/* 184 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 188 */	NdrFcShort( 0xff76 ),	/* Offset= -138 (50) */

+/* 190 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 194 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (420) */

+/* 196 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 200 */	NdrFcShort( 0x2d8 ),	/* Offset= 728 (928) */

+/* 202 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 206 */	NdrFcShort( 0x2d2 ),	/* Offset= 722 (928) */

+/* 208 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 212 */	NdrFcShort( 0x2d0 ),	/* Offset= 720 (932) */

+/* 214 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 218 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (936) */

+/* 220 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 224 */	NdrFcShort( 0x2cc ),	/* Offset= 716 (940) */

+/* 226 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 230 */	NdrFcShort( 0x2ca ),	/* Offset= 714 (944) */

+/* 232 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 236 */	NdrFcShort( 0x2c8 ),	/* Offset= 712 (948) */

+/* 238 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 242 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (952) */

+/* 244 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 248 */	NdrFcShort( 0x2b0 ),	/* Offset= 688 (936) */

+/* 250 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 254 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (940) */

+/* 256 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 260 */	NdrFcShort( 0x2b8 ),	/* Offset= 696 (956) */

+/* 262 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 266 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (952) */

+/* 268 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 272 */	NdrFcShort( 0x2b0 ),	/* Offset= 688 (960) */

+/* 274 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 278 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (964) */

+/* 280 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 284 */	NdrFcShort( 0x2ac ),	/* Offset= 684 (968) */

+/* 286 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 290 */	NdrFcShort( 0x2aa ),	/* Offset= 682 (972) */

+/* 292 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 296 */	NdrFcShort( 0x2a8 ),	/* Offset= 680 (976) */

+/* 298 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 302 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 304 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 308 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 310 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 314 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 316 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 320 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 322 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 326 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 328 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 332 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 334 */	NdrFcLong( 0xe ),	/* 14 */

+/* 338 */	NdrFcShort( 0x286 ),	/* Offset= 646 (984) */

+/* 340 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 344 */	NdrFcShort( 0x28a ),	/* Offset= 650 (994) */

+/* 346 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 350 */	NdrFcShort( 0x288 ),	/* Offset= 648 (998) */

+/* 352 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 356 */	NdrFcShort( 0x244 ),	/* Offset= 580 (936) */

+/* 358 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 362 */	NdrFcShort( 0x242 ),	/* Offset= 578 (940) */

+/* 364 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 368 */	NdrFcShort( 0x240 ),	/* Offset= 576 (944) */

+/* 370 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 374 */	NdrFcShort( 0x236 ),	/* Offset= 566 (940) */

+/* 376 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 380 */	NdrFcShort( 0x230 ),	/* Offset= 560 (940) */

+/* 382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0x0 ),	/* Offset= 0 (386) */

+/* 388 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 392 */	NdrFcShort( 0x0 ),	/* Offset= 0 (392) */

+/* 394 */	NdrFcShort( 0xffff ),	/* Offset= -1 (393) */

+/* 396 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 400 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 402 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 404 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 412 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 414 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 416 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 418 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 420 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 422 */	NdrFcShort( 0x2 ),	/* Offset= 2 (424) */

+/* 424 */	

+			0x13, 0x0,	/* FC_OP */

+/* 426 */	NdrFcShort( 0x1e4 ),	/* Offset= 484 (910) */

+/* 428 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x89,		/* 137 */

+/* 430 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 432 */	NdrFcShort( 0xa ),	/* 10 */

+/* 434 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 438 */	NdrFcShort( 0x50 ),	/* Offset= 80 (518) */

+/* 440 */	NdrFcLong( 0xd ),	/* 13 */

+/* 444 */	NdrFcShort( 0x70 ),	/* Offset= 112 (556) */

+/* 446 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 450 */	NdrFcShort( 0x90 ),	/* Offset= 144 (594) */

+/* 452 */	NdrFcLong( 0xc ),	/* 12 */

+/* 456 */	NdrFcShort( 0xb0 ),	/* Offset= 176 (632) */

+/* 458 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 462 */	NdrFcShort( 0x102 ),	/* Offset= 258 (720) */

+/* 464 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 468 */	NdrFcShort( 0x11e ),	/* Offset= 286 (754) */

+/* 470 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 474 */	NdrFcShort( 0x138 ),	/* Offset= 312 (786) */

+/* 476 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 480 */	NdrFcShort( 0x14e ),	/* Offset= 334 (814) */

+/* 482 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 486 */	NdrFcShort( 0x164 ),	/* Offset= 356 (842) */

+/* 488 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 492 */	NdrFcShort( 0x17a ),	/* Offset= 378 (870) */

+/* 494 */	NdrFcShort( 0xffff ),	/* Offset= -1 (493) */

+/* 496 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 498 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 500 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 502 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 504 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 506 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 510 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 512 */	

+			0x13, 0x0,	/* FC_OP */

+/* 514 */	NdrFcShort( 0xfe14 ),	/* Offset= -492 (22) */

+/* 516 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 518 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 520 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 524 */	NdrFcShort( 0x6 ),	/* Offset= 6 (530) */

+/* 526 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 528 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 530 */	

+			0x11, 0x0,	/* FC_RP */

+/* 532 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (496) */

+/* 534 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 536 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 538 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 542 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 544 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 548 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 550 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 552 */	NdrFcShort( 0xff6a ),	/* Offset= -150 (402) */

+/* 554 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 556 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 558 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 562 */	NdrFcShort( 0x6 ),	/* Offset= 6 (568) */

+/* 564 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 566 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 568 */	

+			0x11, 0x0,	/* FC_RP */

+/* 570 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (534) */

+/* 572 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 574 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 576 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 578 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 580 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 582 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 586 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 588 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 590 */	NdrFcShort( 0xfde4 ),	/* Offset= -540 (50) */

+/* 592 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 594 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 596 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 598 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 600 */	NdrFcShort( 0x6 ),	/* Offset= 6 (606) */

+/* 602 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 604 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 606 */	

+			0x11, 0x0,	/* FC_RP */

+/* 608 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (572) */

+/* 610 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 612 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 614 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 618 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 620 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 624 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 626 */	

+			0x13, 0x0,	/* FC_OP */

+/* 628 */	NdrFcShort( 0x176 ),	/* Offset= 374 (1002) */

+/* 630 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 632 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 634 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 638 */	NdrFcShort( 0x6 ),	/* Offset= 6 (644) */

+/* 640 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 642 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 644 */	

+			0x11, 0x0,	/* FC_RP */

+/* 646 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (610) */

+/* 648 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 650 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 654 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 656 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 658 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 660 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 662 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 664 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 666 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 668 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 670 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 672 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 674 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 676 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 678 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 680 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 684 */	NdrFcShort( 0xa ),	/* Offset= 10 (694) */

+/* 686 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 688 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 690 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (648) */

+/* 692 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 694 */	

+			0x13, 0x0,	/* FC_OP */

+/* 696 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (666) */

+/* 698 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 706 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 708 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 712 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 714 */	

+			0x13, 0x0,	/* FC_OP */

+/* 716 */	NdrFcShort( 0xffda ),	/* Offset= -38 (678) */

+/* 718 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 720 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 722 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 724 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 726 */	NdrFcShort( 0x6 ),	/* Offset= 6 (732) */

+/* 728 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 730 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 732 */	

+			0x11, 0x0,	/* FC_RP */

+/* 734 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (698) */

+/* 736 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 738 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 740 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 742 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 744 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 746 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 748 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 750 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (736) */

+			0x5b,		/* FC_END */

+/* 754 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 756 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0xa ),	/* Offset= 10 (770) */

+/* 762 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 764 */	0x36,		/* FC_POINTER */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 766 */	0x0,		/* 0 */

+			NdrFcShort( 0xffe7 ),	/* Offset= -25 (742) */

+			0x5b,		/* FC_END */

+/* 770 */	

+			0x11, 0x0,	/* FC_RP */

+/* 772 */	NdrFcShort( 0xff12 ),	/* Offset= -238 (534) */

+/* 774 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 776 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 778 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 782 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 784 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 786 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 788 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 790 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 792 */	NdrFcShort( 0x6 ),	/* Offset= 6 (798) */

+/* 794 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 796 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 798 */	

+			0x13, 0x0,	/* FC_OP */

+/* 800 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (774) */

+/* 802 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 804 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 806 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 812 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 814 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 816 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 820 */	NdrFcShort( 0x6 ),	/* Offset= 6 (826) */

+/* 822 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 824 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 826 */	

+			0x13, 0x0,	/* FC_OP */

+/* 828 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (802) */

+/* 830 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 832 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 834 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 836 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 838 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 840 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 842 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 844 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x6 ),	/* Offset= 6 (854) */

+/* 850 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 852 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 854 */	

+			0x13, 0x0,	/* FC_OP */

+/* 856 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (830) */

+/* 858 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 860 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 862 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 868 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 870 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 872 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 874 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 876 */	NdrFcShort( 0x6 ),	/* Offset= 6 (882) */

+/* 878 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 880 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 882 */	

+			0x13, 0x0,	/* FC_OP */

+/* 884 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (858) */

+/* 886 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 888 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 890 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 892 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 894 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 896 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 898 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 900 */	NdrFcShort( 0xffc8 ),	/* -56 */

+/* 902 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 904 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 906 */	NdrFcShort( 0xffec ),	/* Offset= -20 (886) */

+/* 908 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 910 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 912 */	NdrFcShort( 0x38 ),	/* 56 */

+/* 914 */	NdrFcShort( 0xffec ),	/* Offset= -20 (894) */

+/* 916 */	NdrFcShort( 0x0 ),	/* Offset= 0 (916) */

+/* 918 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 920 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 922 */	0x40,		/* FC_STRUCTPAD4 */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 924 */	0x0,		/* 0 */

+			NdrFcShort( 0xfe0f ),	/* Offset= -497 (428) */

+			0x5b,		/* FC_END */

+/* 928 */	

+			0x13, 0x0,	/* FC_OP */

+/* 930 */	NdrFcShort( 0xff04 ),	/* Offset= -252 (678) */

+/* 932 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 934 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 936 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 938 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 940 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 942 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 944 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 946 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 948 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 950 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 952 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 954 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 956 */	

+			0x13, 0x0,	/* FC_OP */

+/* 958 */	NdrFcShort( 0xfdce ),	/* Offset= -562 (396) */

+/* 960 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 962 */	NdrFcShort( 0xfc44 ),	/* Offset= -956 (6) */

+/* 964 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 966 */	NdrFcShort( 0xfdcc ),	/* Offset= -564 (402) */

+/* 968 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 970 */	NdrFcShort( 0xfc68 ),	/* Offset= -920 (50) */

+/* 972 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 974 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (420) */

+/* 976 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 978 */	NdrFcShort( 0x2 ),	/* Offset= 2 (980) */

+/* 980 */	

+			0x13, 0x0,	/* FC_OP */

+/* 982 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1002) */

+/* 984 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 986 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 988 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 990 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 992 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 994 */	

+			0x13, 0x0,	/* FC_OP */

+/* 996 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (984) */

+/* 998 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1000 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1004 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1006 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1008 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1008) */

+/* 1010 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1012 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1014 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1016 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1018 */	NdrFcShort( 0xfc68 ),	/* Offset= -920 (98) */

+/* 1020 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1022 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1024 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1026 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1030 */	NdrFcShort( 0xfc58 ),	/* Offset= -936 (94) */

+/* 1032 */	

+			0x11, 0x0,	/* FC_RP */

+/* 1034 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1040) */

+/* 1036 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1038 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (1002) */

+/* 1040 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1042 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1044 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1036) */

+/* 1050 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1052 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1054 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1056 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1058) */

+/* 1058 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1060 */	NdrFcLong( 0x2a7d2ae7 ),	/* 712846055 */

+/* 1064 */	NdrFcShort( 0x8eee ),	/* -28946 */

+/* 1066 */	NdrFcShort( 0x45b4 ),	/* 17844 */

+/* 1068 */	0xb1,		/* 177 */

+			0x7f,		/* 127 */

+/* 1070 */	0x31,		/* 49 */

+			0xda,		/* 218 */

+/* 1072 */	0xac,		/* 172 */

+			0x82,		/* 130 */

+/* 1074 */	0xcc,		/* 204 */

+			0xbb,		/* 187 */

+/* 1076 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1078 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 1080 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1082 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1084) */

+/* 1084 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1086 */	NdrFcLong( 0x7e0a6b39 ),	/* 2114612025 */

+/* 1090 */	NdrFcShort( 0x7ceb ),	/* 31979 */

+/* 1092 */	NdrFcShort( 0x4944 ),	/* 18756 */

+/* 1094 */	0xab,		/* 171 */

+			0xfa,		/* 250 */

+/* 1096 */	0xf4,		/* 244 */

+			0x19,		/* 25 */

+/* 1098 */	0xd2,		/* 210 */

+			0x1,		/* 1 */

+/* 1100 */	0xd6,		/* 214 */

+			0xa0,		/* 160 */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Standard interface: __MIDL_itf_updater_legacy_idl_user_0000_0000, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IAppVersionWeb, ver. 0.0,

+   GUID={0xAA10D17D,0x7A09,0x48AC,{0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    42,

+    84

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebProxyVtbl = 

+{

+    &IAppVersionWeb_ProxyInfo,

+    &IID_IAppVersionWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebStubVtbl =

+{

+    &IID_IAppVersionWeb,

+    &IAppVersionWeb_ServerInfo,

+    10,

+    &IAppVersionWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppVersionWebUser, ver. 0.0,

+   GUID={0xAC817E10,0x993C,0x470F,{0x8D,0xCA,0x25,0xF5,0x3D,0x70,0xEA,0x8D}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    42,

+    84

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebUserProxyVtbl = 

+{

+    &IAppVersionWebUser_ProxyInfo,

+    &IID_IAppVersionWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebUser::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebUser::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebUser::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebUserStubVtbl =

+{

+    &IID_IAppVersionWebUser,

+    &IAppVersionWebUser_ServerInfo,

+    10,

+    &IAppVersionWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentState, ver. 0.0,

+   GUID={0xA643508B,0xB1E3,0x4457,{0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    174,

+    216,

+    258,

+    300,

+    342,

+    384,

+    426,

+    468,

+    510,

+    552,

+    594,

+    636,

+    678,

+    720,

+    762,

+    804

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateProxyVtbl = 

+{

+    &ICurrentState_ProxyInfo,

+    &IID_ICurrentState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateStubVtbl =

+{

+    &IID_ICurrentState,

+    &ICurrentState_ServerInfo,

+    24,

+    &ICurrentState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentStateUser, ver. 0.0,

+   GUID={0x31479718,0xD170,0x467B,{0x92,0x74,0x27,0xFC,0x3E,0x88,0xCB,0x76}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentStateUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    174,

+    216,

+    258,

+    300,

+    342,

+    384,

+    426,

+    468,

+    510,

+    552,

+    594,

+    636,

+    678,

+    720,

+    762,

+    804

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentStateUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentStateUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateUserProxyVtbl = 

+{

+    &ICurrentStateUser_ProxyInfo,

+    &IID_ICurrentStateUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentStateUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateUserStubVtbl =

+{

+    &IID_ICurrentStateUser,

+    &ICurrentStateUser_ServerInfo,

+    24,

+    &ICurrentStateUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3Web, ver. 0.0,

+   GUID={0xA35E1C5E,0x0A18,0x4FF1,{0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3Web_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    846

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebProxyVtbl = 

+{

+    &IGoogleUpdate3Web_ProxyInfo,

+    &IID_IGoogleUpdate3Web,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3Web::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3Web_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebStubVtbl =

+{

+    &IID_IGoogleUpdate3Web,

+    &IGoogleUpdate3Web_ServerInfo,

+    8,

+    &IGoogleUpdate3Web_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3WebUser, ver. 0.0,

+   GUID={0xEE8EE731,0xC592,0x4A4F,{0x97,0x74,0xBB,0x04,0x33,0x7B,0x8F,0x46}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3WebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    846

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3WebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebUserProxyVtbl = 

+{

+    &IGoogleUpdate3WebUser_ProxyInfo,

+    &IID_IGoogleUpdate3WebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3WebUser::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3WebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebUserStubVtbl =

+{

+    &IID_IGoogleUpdate3WebUser,

+    &IGoogleUpdate3WebUser_ServerInfo,

+    8,

+    &IGoogleUpdate3WebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWeb, ver. 0.0,

+   GUID={0x0569DBB9,0xBAA0,0x48D5,{0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    888,

+    950,

+    992,

+    1026,

+    1068,

+    1110,

+    384,

+    1152,

+    1200,

+    1234,

+    1268,

+    1302,

+    1336,

+    1370,

+    1404,

+    1438,

+    1486

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebProxyVtbl = 

+{

+    &IAppBundleWeb_ProxyInfo,

+    &IID_IAppBundleWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebStubVtbl =

+{

+    &IID_IAppBundleWeb,

+    &IAppBundleWeb_ServerInfo,

+    24,

+    &IAppBundleWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWebUser, ver. 0.0,

+   GUID={0xCE7A37FD,0xA255,0x460C,{0xBA,0xF1,0x70,0x87,0x65,0xEB,0x76,0xEC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    888,

+    950,

+    992,

+    1026,

+    1068,

+    1110,

+    384,

+    1152,

+    1200,

+    1234,

+    1268,

+    1302,

+    1336,

+    1370,

+    1404,

+    1438,

+    1486

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebUserProxyVtbl = 

+{

+    &IAppBundleWebUser_ProxyInfo,

+    &IID_IAppBundleWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebUserStubVtbl =

+{

+    &IID_IAppBundleWebUser,

+    &IAppBundleWebUser_ServerInfo,

+    24,

+    &IAppBundleWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWeb, ver. 0.0,

+   GUID={0x63D941DE,0xF67B,0x4E15,{0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1528,

+    1570,

+    1612,

+    1660,

+    1694,

+    1736,

+    1770,

+    1804,

+    1846

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebProxyVtbl = 

+{

+    &IAppWeb_ProxyInfo,

+    &IID_IAppWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebStubVtbl =

+{

+    &IID_IAppWeb,

+    &IAppWeb_ServerInfo,

+    17,

+    &IAppWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWebUser, ver. 0.0,

+   GUID={0x47B9D508,0xCB72,0x4F8B,{0xAF,0x00,0x7D,0x01,0x43,0x60,0x3B,0x25}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1528,

+    1570,

+    1612,

+    1660,

+    1694,

+    1736,

+    1770,

+    1804,

+    1846

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebUserProxyVtbl = 

+{

+    &IAppWebUser_ProxyInfo,

+    &IID_IAppWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebUserStubVtbl =

+{

+    &IID_IAppWebUser,

+    &IAppWebUser_ServerInfo,

+    17,

+    &IAppWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWeb, ver. 0.0,

+   GUID={0x10A2D03F,0x8BC7,0x49DB,{0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    42,

+    1888,

+    1930

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebProxyVtbl = 

+{

+    &IAppCommandWeb_ProxyInfo,

+    &IID_IAppCommandWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebStubVtbl =

+{

+    &IID_IAppCommandWeb,

+    &IAppCommandWeb_ServerInfo,

+    11,

+    &IAppCommandWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWebUser, ver. 0.0,

+   GUID={0x5515E66F,0xFA6F,0x4D74,{0xB5,0xEA,0x4F,0xCF,0xDA,0x16,0xFE,0x12}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    42,

+    1888,

+    1930

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebUserProxyVtbl = 

+{

+    &IAppCommandWebUser_ProxyInfo,

+    &IID_IAppCommandWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebUserStubVtbl =

+{

+    &IID_IAppCommandWebUser,

+    &IAppCommandWebUser_ServerInfo,

+    11,

+    &IAppCommandWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus, ver. 0.0,

+   GUID={0x6A54FE75,0xEDC8,0x404E,{0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    2028,

+    1888,

+    258,

+    300,

+    2090,

+    2138,

+    2186,

+    2234

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusProxyVtbl = 

+{

+    &IPolicyStatus_ProxyInfo,

+    &IID_IPolicyStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusStubVtbl =

+{

+    &IID_IPolicyStatus,

+    &IPolicyStatus_ServerInfo,

+    16,

+    &IPolicyStatus_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusUser, ver. 0.0,

+   GUID={0xEF739C0C,0x40B0,0x478D,{0xB7,0x6B,0x36,0x59,0xB8,0xF2,0xB0,0xEB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    132,

+    2028,

+    1888,

+    258,

+    300,

+    2090,

+    2138,

+    2186,

+    2234

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusUserProxyVtbl = 

+{

+    &IPolicyStatusUser_ProxyInfo,

+    &IID_IPolicyStatusUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusUserStubVtbl =

+{

+    &IID_IPolicyStatusUser,

+    &IPolicyStatusUser_ServerInfo,

+    16,

+    &IPolicyStatusUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValue, ver. 0.0,

+   GUID={0x2A7D2AE7,0x8EEE,0x45B4,{0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValue_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    174,

+    2282,

+    1026,

+    2324

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueProxyVtbl = 

+{

+    &IPolicyStatusValue_ProxyInfo,

+    &IID_IPolicyStatusValue,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValue_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueStubVtbl =

+{

+    &IID_IPolicyStatusValue,

+    &IPolicyStatusValue_ServerInfo,

+    12,

+    &IPolicyStatusValue_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValueUser, ver. 0.0,

+   GUID={0x7E0A6B39,0x7CEB,0x4944,{0xAB,0xFA,0xF4,0x19,0xD2,0x01,0xD6,0xA0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValueUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    174,

+    2282,

+    1026,

+    2324

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValueUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueUserProxyVtbl = 

+{

+    &IPolicyStatusValueUser_ProxyInfo,

+    &IID_IPolicyStatusValueUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValueUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueUserStubVtbl =

+{

+    &IID_IPolicyStatusValueUser,

+    &IPolicyStatusValueUser_ServerInfo,

+    12,

+    &IPolicyStatusValueUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2, ver. 0.0,

+   GUID={0x06A6AA1E,0x2680,0x4076,{0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2366,

+    992,

+    2408,

+    2450,

+    2498,

+    2540,

+    2582,

+    2624,

+    2666,

+    2708,

+    2750,

+    2798,

+    2846,

+    2894,

+    2942

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2ProxyVtbl = 

+{

+    &IPolicyStatus2_ProxyInfo,

+    &IID_IPolicyStatus2,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2StubVtbl =

+{

+    &IID_IPolicyStatus2,

+    &IPolicyStatus2_ServerInfo,

+    23,

+    &IPolicyStatus2_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2User, ver. 0.0,

+   GUID={0xAD91C851,0x86AC,0x499F,{0x9B,0xA9,0x9A,0x56,0x17,0x44,0xAA,0x4D}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2User_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2366,

+    992,

+    2990,

+    3032,

+    3080,

+    3122,

+    3164,

+    3206,

+    3248,

+    3290,

+    3332,

+    3380,

+    3428,

+    3476,

+    3524

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2User_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2User_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2UserProxyVtbl = 

+{

+    &IPolicyStatus2User_ProxyInfo,

+    &IID_IPolicyStatus2User,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2User_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2UserStubVtbl =

+{

+    &IID_IPolicyStatus2User,

+    &IPolicyStatus2User_ServerInfo,

+    23,

+    &IPolicyStatus2User_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3, ver. 0.0,

+   GUID={0x029BD175,0x5035,0x4E2A,{0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2366,

+    992,

+    2408,

+    2450,

+    2498,

+    2540,

+    2582,

+    2624,

+    2666,

+    2708,

+    2750,

+    2798,

+    2846,

+    2894,

+    2942,

+    3572

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3ProxyVtbl = 

+{

+    &IPolicyStatus3_ProxyInfo,

+    &IID_IPolicyStatus3,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3StubVtbl =

+{

+    &IID_IPolicyStatus3,

+    &IPolicyStatus3_ServerInfo,

+    24,

+    &IPolicyStatus3_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3User, ver. 0.0,

+   GUID={0xBC39E1E1,0xE8FA,0x4E72,{0x90,0x3F,0x3B,0xF3,0x46,0xE7,0xE1,0x65}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3User_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2366,

+    992,

+    2990,

+    3032,

+    3080,

+    3122,

+    3164,

+    3206,

+    3248,

+    3290,

+    3332,

+    3380,

+    3428,

+    3476,

+    3524,

+    3620

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3User_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3User_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3UserProxyVtbl = 

+{

+    &IPolicyStatus3User_ProxyInfo,

+    &IID_IPolicyStatus3User,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3User::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3User_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3UserStubVtbl =

+{

+    &IID_IPolicyStatus3User,

+    &IPolicyStatus3User_ServerInfo,

+    24,

+    &IPolicyStatus3User_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_legacy_idl_user__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_legacy_idl_user_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IAppWebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2UserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3UserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebUserProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_legacy_idl_user_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IAppWebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2StubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2UserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3StubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3UserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebUserStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_legacy_idl_user_InterfaceNamesList[] = 

+{

+    "IAppWebUser",

+    "IPolicyStatusUser",

+    "IAppVersionWebUser",

+    "ICurrentStateUser",

+    "IPolicyStatus2",

+    "IGoogleUpdate3WebUser",

+    "IPolicyStatusValueUser",

+    "IAppCommandWeb",

+    "IPolicyStatus2User",

+    "IGoogleUpdate3Web",

+    "IAppCommandWebUser",

+    "IPolicyStatus3",

+    "IPolicyStatus",

+    "IAppVersionWeb",

+    "ICurrentState",

+    "IAppBundleWeb",

+    "IAppWeb",

+    "IPolicyStatus3User",

+    "IPolicyStatusValue",

+    "IAppBundleWebUser",

+    0

+};

+

+const IID *  const _updater_legacy_idl_user_BaseIIDList[] = 

+{

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0

+};

+

+

+#define _updater_legacy_idl_user_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_legacy_idl_user, pIID, n)

+

+int __stdcall _updater_legacy_idl_user_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_legacy_idl_user, 20, 16 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_legacy_idl_user, 20, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_legacy_idl_user_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_legacy_idl_user_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_legacy_idl_user_StubVtblList,

+    (const PCInterfaceName * ) & _updater_legacy_idl_user_InterfaceNamesList,

+    (const IID ** ) & _updater_legacy_idl_user_BaseIIDList,

+    & _updater_legacy_idl_user_IID_Lookup, 

+    20,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_ARM64) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system.dlldata.c
new file mode 100644
index 0000000..fc855fd
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_idl_system )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_idl_system ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system.h
new file mode 100644
index 0000000..d415a725
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system.h
@@ -0,0 +1,2284 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_idl_system_h__

+#define __updater_idl_system_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdateState_FWD_DEFINED__

+#define __IUpdateState_FWD_DEFINED__

+typedef interface IUpdateState IUpdateState;

+

+#endif 	/* __IUpdateState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateSystem_FWD_DEFINED__

+#define __IUpdateStateSystem_FWD_DEFINED__

+typedef interface IUpdateStateSystem IUpdateStateSystem;

+

+#endif 	/* __IUpdateStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_FWD_DEFINED__

+#define __ICompleteStatus_FWD_DEFINED__

+typedef interface ICompleteStatus ICompleteStatus;

+

+#endif 	/* __ICompleteStatus_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusSystem_FWD_DEFINED__

+#define __ICompleteStatusSystem_FWD_DEFINED__

+typedef interface ICompleteStatusSystem ICompleteStatusSystem;

+

+#endif 	/* __ICompleteStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_FWD_DEFINED__

+#define __IUpdaterObserver_FWD_DEFINED__

+typedef interface IUpdaterObserver IUpdaterObserver;

+

+#endif 	/* __IUpdaterObserver_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverSystem_FWD_DEFINED__

+#define __IUpdaterObserverSystem_FWD_DEFINED__

+typedef interface IUpdaterObserverSystem IUpdaterObserverSystem;

+

+#endif 	/* __IUpdaterObserverSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_FWD_DEFINED__

+#define __IUpdaterCallback_FWD_DEFINED__

+typedef interface IUpdaterCallback IUpdaterCallback;

+

+#endif 	/* __IUpdaterCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackSystem_FWD_DEFINED__

+#define __IUpdaterCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterCallbackSystem IUpdaterCallbackSystem;

+

+#endif 	/* __IUpdaterCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateSystem_FWD_DEFINED__

+#define __IUpdaterAppStateSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStateSystem IUpdaterAppStateSystem;

+

+#endif 	/* __IUpdaterAppStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_FWD_DEFINED__

+#define __IUpdaterAppStatesCallback_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallback IUpdaterAppStatesCallback;

+

+#endif 	/* __IUpdaterAppStatesCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackSystem IUpdaterAppStatesCallbackSystem;

+

+#endif 	/* __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdater_FWD_DEFINED__

+#define __IUpdater_FWD_DEFINED__

+typedef interface IUpdater IUpdater;

+

+#endif 	/* __IUpdater_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterSystem_FWD_DEFINED__

+#define __IUpdaterSystem_FWD_DEFINED__

+typedef interface IUpdaterSystem IUpdaterSystem;

+

+#endif 	/* __IUpdaterSystem_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterUserClass_FWD_DEFINED__

+#define __UpdaterUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterUserClass UpdaterUserClass;

+#else

+typedef struct UpdaterUserClass UpdaterUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterSystemClass_FWD_DEFINED__

+#define __UpdaterSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterSystemClass UpdaterSystemClass;

+#else

+typedef struct UpdaterSystemClass UpdaterSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateSystem_FWD_DEFINED__

+#define __IUpdateStateSystem_FWD_DEFINED__

+typedef interface IUpdateStateSystem IUpdateStateSystem;

+

+#endif 	/* __IUpdateStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusSystem_FWD_DEFINED__

+#define __ICompleteStatusSystem_FWD_DEFINED__

+typedef interface ICompleteStatusSystem ICompleteStatusSystem;

+

+#endif 	/* __ICompleteStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverSystem_FWD_DEFINED__

+#define __IUpdaterObserverSystem_FWD_DEFINED__

+typedef interface IUpdaterObserverSystem IUpdaterObserverSystem;

+

+#endif 	/* __IUpdaterObserverSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackSystem_FWD_DEFINED__

+#define __IUpdaterCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterCallbackSystem IUpdaterCallbackSystem;

+

+#endif 	/* __IUpdaterCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateSystem_FWD_DEFINED__

+#define __IUpdaterAppStateSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStateSystem IUpdaterAppStateSystem;

+

+#endif 	/* __IUpdaterAppStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackSystem IUpdaterAppStatesCallbackSystem;

+

+#endif 	/* __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterSystem_FWD_DEFINED__

+#define __IUpdaterSystem_FWD_DEFINED__

+typedef interface IUpdaterSystem IUpdaterSystem;

+

+#endif 	/* __IUpdaterSystem_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdateState_INTERFACE_DEFINED__

+#define __IUpdateState_INTERFACE_DEFINED__

+

+/* interface IUpdateState */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("46ACF70B-AC13-406D-B53B-B2C4BF091FF6")

+    IUpdateState : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010);

+        

+        END_INTERFACE

+    } IUpdateStateVtbl;

+

+    interface IUpdateState

+    {

+        CONST_VTBL struct IUpdateStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateState_get_state(This,__MIDL__IUpdateState0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateState0000) ) 

+

+#define IUpdateState_get_appId(This,__MIDL__IUpdateState0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateState0001) ) 

+

+#define IUpdateState_get_nextVersion(This,__MIDL__IUpdateState0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateState0002) ) 

+

+#define IUpdateState_get_downloadedBytes(This,__MIDL__IUpdateState0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateState0003) ) 

+

+#define IUpdateState_get_totalBytes(This,__MIDL__IUpdateState0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateState0004) ) 

+

+#define IUpdateState_get_installProgress(This,__MIDL__IUpdateState0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateState0005) ) 

+

+#define IUpdateState_get_errorCategory(This,__MIDL__IUpdateState0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateState0006) ) 

+

+#define IUpdateState_get_errorCode(This,__MIDL__IUpdateState0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateState0007) ) 

+

+#define IUpdateState_get_extraCode1(This,__MIDL__IUpdateState0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateState0008) ) 

+

+#define IUpdateState_get_installerText(This,__MIDL__IUpdateState0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateState0009) ) 

+

+#define IUpdateState_get_installerCommandLine(This,__MIDL__IUpdateState0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateState0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdateStateSystem_INTERFACE_DEFINED__

+#define __IUpdateStateSystem_INTERFACE_DEFINED__

+

+/* interface IUpdateStateSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateStateSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EA6FDC05-CDC5-4EA4-AB41-CCBD1040A2B5")

+    IUpdateStateSystem : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0010);

+        

+        END_INTERFACE

+    } IUpdateStateSystemVtbl;

+

+    interface IUpdateStateSystem

+    {

+        CONST_VTBL struct IUpdateStateSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateStateSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateStateSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateStateSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateStateSystem_get_state(This,__MIDL__IUpdateStateSystem0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateStateSystem0000) ) 

+

+#define IUpdateStateSystem_get_appId(This,__MIDL__IUpdateStateSystem0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateStateSystem0001) ) 

+

+#define IUpdateStateSystem_get_nextVersion(This,__MIDL__IUpdateStateSystem0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateStateSystem0002) ) 

+

+#define IUpdateStateSystem_get_downloadedBytes(This,__MIDL__IUpdateStateSystem0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateStateSystem0003) ) 

+

+#define IUpdateStateSystem_get_totalBytes(This,__MIDL__IUpdateStateSystem0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateStateSystem0004) ) 

+

+#define IUpdateStateSystem_get_installProgress(This,__MIDL__IUpdateStateSystem0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateStateSystem0005) ) 

+

+#define IUpdateStateSystem_get_errorCategory(This,__MIDL__IUpdateStateSystem0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateStateSystem0006) ) 

+

+#define IUpdateStateSystem_get_errorCode(This,__MIDL__IUpdateStateSystem0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateStateSystem0007) ) 

+

+#define IUpdateStateSystem_get_extraCode1(This,__MIDL__IUpdateStateSystem0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateStateSystem0008) ) 

+

+#define IUpdateStateSystem_get_installerText(This,__MIDL__IUpdateStateSystem0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateStateSystem0009) ) 

+

+#define IUpdateStateSystem_get_installerCommandLine(This,__MIDL__IUpdateStateSystem0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateStateSystem0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateStateSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_INTERFACE_DEFINED__

+#define __ICompleteStatus_INTERFACE_DEFINED__

+

+/* interface ICompleteStatus */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2FCD14AF-B645-4351-8359-E80A0E202A0B")

+    ICompleteStatus : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001);

+        

+        END_INTERFACE

+    } ICompleteStatusVtbl;

+

+    interface ICompleteStatus

+    {

+        CONST_VTBL struct ICompleteStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatus_get_statusCode(This,__MIDL__ICompleteStatus0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatus0000) ) 

+

+#define ICompleteStatus_get_statusMessage(This,__MIDL__ICompleteStatus0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatus0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatusSystem_INTERFACE_DEFINED__

+#define __ICompleteStatusSystem_INTERFACE_DEFINED__

+

+/* interface ICompleteStatusSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatusSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("E2BD9A6B-0A19-4C89-AE8B-B7E9E51D9A07")

+    ICompleteStatusSystem : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusSystem0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatusSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusSystem, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatusSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusSystem0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusSystem, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatusSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusSystem0001);

+        

+        END_INTERFACE

+    } ICompleteStatusSystemVtbl;

+

+    interface ICompleteStatusSystem

+    {

+        CONST_VTBL struct ICompleteStatusSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatusSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatusSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatusSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatusSystem_get_statusCode(This,__MIDL__ICompleteStatusSystem0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatusSystem0000) ) 

+

+#define ICompleteStatusSystem_get_statusMessage(This,__MIDL__ICompleteStatusSystem0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatusSystem0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatusSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_INTERFACE_DEFINED__

+#define __IUpdaterObserver_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserver */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserver;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7B416CFD-4216-4FD6-BD83-7C586054676E")

+    IUpdaterObserver : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateState *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatus *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserver * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserver * This,

+            /* [in] */ IUpdateState *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserver * This,

+            /* [in] */ ICompleteStatus *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverVtbl;

+

+    interface IUpdaterObserver

+    {

+        CONST_VTBL struct IUpdaterObserverVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserver_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserver_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserver_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserver_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserver_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserver_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverSystem_INTERFACE_DEFINED__

+#define __IUpdaterObserverSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserverSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserverSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("057B500A-4BA2-496A-B1CD-C5DED3CCC61B")

+    IUpdaterObserverSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateStateSystem *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatusSystem *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserverSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserverSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserverSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverSystem, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserverSystem * This,

+            /* [in] */ IUpdateStateSystem *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverSystem, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserverSystem * This,

+            /* [in] */ ICompleteStatusSystem *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverSystemVtbl;

+

+    interface IUpdaterObserverSystem

+    {

+        CONST_VTBL struct IUpdaterObserverSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserverSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserverSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserverSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserverSystem_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserverSystem_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserverSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_INTERFACE_DEFINED__

+#define __IUpdaterCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("8BAB6F84-AD67-4819-B846-CC890880FD3B")

+    IUpdaterCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackVtbl;

+

+    interface IUpdaterCallback

+    {

+        CONST_VTBL struct IUpdaterCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackSystem_INTERFACE_DEFINED__

+#define __IUpdaterCallbackSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallbackSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallbackSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("F0D6763A-0182-4136-B1FA-508E334CFFC1")

+    IUpdaterCallbackSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallbackSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallbackSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallbackSystem * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackSystemVtbl;

+

+    interface IUpdaterCallbackSystem

+    {

+        CONST_VTBL struct IUpdaterCallbackSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallbackSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallbackSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallbackSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallbackSystem_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallbackSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_INTERFACE_DEFINED__

+#define __IUpdaterAppState_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A22AFC54-2DEF-4578-9187-DB3B24381090")

+    IUpdaterAppState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateVtbl;

+

+    interface IUpdaterAppState

+    {

+        CONST_VTBL struct IUpdaterAppStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppState_get_appId(This,__MIDL__IUpdaterAppState0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppState0000) ) 

+

+#define IUpdaterAppState_get_version(This,__MIDL__IUpdaterAppState0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppState0001) ) 

+

+#define IUpdaterAppState_get_ap(This,__MIDL__IUpdaterAppState0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppState0002) ) 

+

+#define IUpdaterAppState_get_brandCode(This,__MIDL__IUpdaterAppState0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppState0003) ) 

+

+#define IUpdaterAppState_get_brandPath(This,__MIDL__IUpdaterAppState0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppState0004) ) 

+

+#define IUpdaterAppState_get_ecp(This,__MIDL__IUpdaterAppState0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppState0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateSystem_INTERFACE_DEFINED__

+#define __IUpdaterAppStateSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStateSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStateSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("92631531-8044-46F4-B645-CDFBCCC7FA3B")

+    IUpdaterAppStateSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppStateSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppStateSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppStateSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateSystemVtbl;

+

+    interface IUpdaterAppStateSystem

+    {

+        CONST_VTBL struct IUpdaterAppStateSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStateSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStateSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStateSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStateSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppStateSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppStateSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppStateSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppStateSystem_get_appId(This,__MIDL__IUpdaterAppStateSystem0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppStateSystem0000) ) 

+

+#define IUpdaterAppStateSystem_get_version(This,__MIDL__IUpdaterAppStateSystem0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppStateSystem0001) ) 

+

+#define IUpdaterAppStateSystem_get_ap(This,__MIDL__IUpdaterAppStateSystem0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppStateSystem0002) ) 

+

+#define IUpdaterAppStateSystem_get_brandCode(This,__MIDL__IUpdaterAppStateSystem0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppStateSystem0003) ) 

+

+#define IUpdaterAppStateSystem_get_brandPath(This,__MIDL__IUpdaterAppStateSystem0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppStateSystem0004) ) 

+

+#define IUpdaterAppStateSystem_get_ecp(This,__MIDL__IUpdaterAppStateSystem0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppStateSystem0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStateSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EFE903C0-E820-4136-9FAE-FDCD7F256302")

+    IUpdaterAppStatesCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackVtbl;

+

+    interface IUpdaterAppStatesCallback

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallback_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackSystem_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallbackSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallbackSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallbackSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2CB8867E-495E-459F-B1B6-2DD7FFDBD462")

+    IUpdaterAppStatesCallbackSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallbackSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallbackSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallbackSystem * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackSystemVtbl;

+

+    interface IUpdaterAppStatesCallbackSystem

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallbackSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallbackSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallbackSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallbackSystem_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallbackSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdater_INTERFACE_DEFINED__

+#define __IUpdater_INTERFACE_DEFINED__

+

+/* interface IUpdater */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdater;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("63B8FFB1-5314-48C9-9C57-93EC8BC6184B")

+    IUpdater : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdater * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdater * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdater, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterAppStatesCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterVtbl;

+

+    interface IUpdater

+    {

+        CONST_VTBL struct IUpdaterVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdater_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdater_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdater_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdater_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdater_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdater_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdater_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdater_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdater_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdater_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdater_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdater_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdater_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterSystem_INTERFACE_DEFINED__

+#define __IUpdaterSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("FCE335F3-A55C-496E-814F-85971C9FA6F1")

+    IUpdaterSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallbackSystem *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdaterSystem * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterAppStatesCallbackSystem *callback);

+        

+        END_INTERFACE

+    } IUpdaterSystemVtbl;

+

+    interface IUpdaterSystem

+    {

+        CONST_VTBL struct IUpdaterSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterSystem_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdaterSystem_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdaterSystem_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdaterSystem_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdaterSystem_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterSystem_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterSystem_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdaterSystem_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdaterSystem_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdaterSystem_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdaterSystem_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterSystem_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLib_LIBRARY_DEFINED__

+#define __UpdaterLib_LIBRARY_DEFINED__

+

+/* library UpdaterLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLib;

+

+EXTERN_C const CLSID CLSID_UpdaterUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("158428a4-6014-4978-83ba-9fad0dabe791")

+UpdaterUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("415FD747-D79E-42D7-93AC-1BA6E5FD4E93")

+UpdaterSystemClass;

+#endif

+#endif /* __UpdaterLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system.tlb
new file mode 100644
index 0000000..609eca4
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system_i.c
new file mode 100644
index 0000000..2d0093a
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system_i.c
@@ -0,0 +1,127 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateState,0x46ACF70B,0xAC13,0x406D,0xB5,0x3B,0xB2,0xC4,0xBF,0x09,0x1F,0xF6);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateStateSystem,0xEA6FDC05,0xCDC5,0x4EA4,0xAB,0x41,0xCC,0xBD,0x10,0x40,0xA2,0xB5);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatus,0x2FCD14AF,0xB645,0x4351,0x83,0x59,0xE8,0x0A,0x0E,0x20,0x2A,0x0B);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatusSystem,0xE2BD9A6B,0x0A19,0x4C89,0xAE,0x8B,0xB7,0xE9,0xE5,0x1D,0x9A,0x07);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserver,0x7B416CFD,0x4216,0x4FD6,0xBD,0x83,0x7C,0x58,0x60,0x54,0x67,0x6E);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserverSystem,0x057B500A,0x4BA2,0x496A,0xB1,0xCD,0xC5,0xDE,0xD3,0xCC,0xC6,0x1B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallback,0x8BAB6F84,0xAD67,0x4819,0xB8,0x46,0xCC,0x89,0x08,0x80,0xFD,0x3B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallbackSystem,0xF0D6763A,0x0182,0x4136,0xB1,0xFA,0x50,0x8E,0x33,0x4C,0xFF,0xC1);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppState,0xA22AFC54,0x2DEF,0x4578,0x91,0x87,0xDB,0x3B,0x24,0x38,0x10,0x90);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStateSystem,0x92631531,0x8044,0x46F4,0xB6,0x45,0xCD,0xFB,0xCC,0xC7,0xFA,0x3B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallback,0xEFE903C0,0xE820,0x4136,0x9F,0xAE,0xFD,0xCD,0x7F,0x25,0x63,0x02);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallbackSystem,0x2CB8867E,0x495E,0x459F,0xB1,0xB6,0x2D,0xD7,0xFF,0xDB,0xD4,0x62);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdater,0x63B8FFB1,0x5314,0x48C9,0x9C,0x57,0x93,0xEC,0x8B,0xC6,0x18,0x4B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterSystem,0xFCE335F3,0xA55C,0x496E,0x81,0x4F,0x85,0x97,0x1C,0x9F,0xA6,0xF1);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLib,0x69464FF0,0xD9EC,0x4037,0xA3,0x5F,0x8A,0xE4,0x35,0x81,0x06,0xCC);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterUserClass,0x158428a4,0x6014,0x4978,0x83,0xba,0x9f,0xad,0x0d,0xab,0xe7,0x91);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterSystemClass,0x415FD747,0xD79E,0x42D7,0x93,0xAC,0x1B,0xA6,0xE5,0xFD,0x4E,0x93);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system_p.c
new file mode 100644
index 0000000..5358c763
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_system_p.c
@@ -0,0 +1,4044 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_AMD64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_idl_system.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1199                              

+#define PROC_FORMAT_STRING_SIZE   1921                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_idl_system_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_idl_system_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_idl_system_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_idl_system_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_idl_system_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_idl_system_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_idl_system_MIDL_TYPE_FORMAT_STRING updater_idl_system__MIDL_TypeFormatString;

+extern const updater_idl_system_MIDL_PROC_FORMAT_STRING updater_idl_system__MIDL_ProcFormatString;

+extern const updater_idl_system_MIDL_EXPR_FORMAT_STRING updater_idl_system__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateStateSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateStateSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatusSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatusSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserverSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallbackSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStateSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallbackSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdater_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterSystem_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_WIN64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_idl_system_MIDL_PROC_FORMAT_STRING updater_idl_system__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_state */

+

+

+	/* Procedure get_state */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusSystem0000 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0000 */

+

+

+	/* Parameter __MIDL__IUpdateStateSystem0000 */

+

+

+	/* Parameter __MIDL__IUpdateState0000 */

+

+/* 26 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 28 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 30 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 32 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 34 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 36 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 38 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 40 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 46 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 48 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 50 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 52 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 54 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 56 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusSystem0001 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0001 */

+

+

+	/* Parameter __MIDL__IUpdateStateSystem0001 */

+

+

+	/* Parameter __MIDL__IUpdateState0001 */

+

+/* 64 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 66 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 68 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 70 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 72 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 74 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersion */

+

+

+	/* Procedure get_nextVersion */

+

+/* 76 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 78 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 82 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 84 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 90 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 92 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 94 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 96 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 98 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 100 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0002 */

+

+

+	/* Parameter __MIDL__IUpdateState0002 */

+

+/* 102 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 104 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 106 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 108 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 110 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 112 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadedBytes */

+

+

+	/* Procedure get_downloadedBytes */

+

+/* 114 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 116 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 122 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 124 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 126 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 128 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 130 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 134 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 136 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 138 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0003 */

+

+

+	/* Parameter __MIDL__IUpdateState0003 */

+

+/* 140 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 142 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 144 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 148 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_totalBytes */

+

+

+	/* Procedure get_totalBytes */

+

+/* 152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 158 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 160 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 166 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 168 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 176 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0004 */

+

+

+	/* Parameter __MIDL__IUpdateState0004 */

+

+/* 178 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 180 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 182 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 184 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 186 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 188 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 190 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 192 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 196 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 198 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 200 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 202 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 204 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 206 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 208 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 210 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 212 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 214 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0005 */

+

+

+	/* Parameter __MIDL__IUpdateState0005 */

+

+/* 216 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 218 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 220 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 222 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 224 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 226 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCategory */

+

+

+	/* Procedure get_errorCategory */

+

+/* 228 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 230 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 234 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 236 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 238 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 240 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 242 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 244 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 246 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 248 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 250 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 252 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0006 */

+

+

+	/* Parameter __MIDL__IUpdateState0006 */

+

+/* 254 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 256 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 258 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 260 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 262 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 264 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 266 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 268 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 272 */	NdrFcShort( 0xa ),	/* 10 */

+/* 274 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 276 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 278 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 280 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 282 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 284 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 288 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 290 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0007 */

+

+

+	/* Parameter __MIDL__IUpdateState0007 */

+

+/* 292 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 294 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 296 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 298 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 300 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 302 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 304 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 306 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 310 */	NdrFcShort( 0xb ),	/* 11 */

+/* 312 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 314 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 316 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 318 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 320 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 326 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 328 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0008 */

+

+

+	/* Parameter __MIDL__IUpdateState0008 */

+

+/* 330 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 332 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 334 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 336 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 338 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 340 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_installerText */

+

+

+	/* Procedure get_installerText */

+

+/* 342 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 344 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 348 */	NdrFcShort( 0xc ),	/* 12 */

+/* 350 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 352 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 354 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 356 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 358 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 360 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 362 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 364 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 366 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0005 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0005 */

+

+

+	/* Parameter __MIDL__IUpdateStateSystem0009 */

+

+

+	/* Parameter __MIDL__IUpdateState0009 */

+

+/* 368 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 370 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 372 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 374 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 376 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 378 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerCommandLine */

+

+

+	/* Procedure get_installerCommandLine */

+

+/* 380 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0xd ),	/* 13 */

+/* 388 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 390 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 392 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 394 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 396 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 398 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 400 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 404 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0010 */

+

+

+	/* Parameter __MIDL__IUpdateState0010 */

+

+/* 406 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 408 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 410 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 412 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 414 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 416 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 418 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 420 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 424 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 426 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 430 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 432 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 434 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 436 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 438 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 440 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 442 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter update_state */

+

+/* 444 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 446 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 448 */	NdrFcShort( 0x32 ),	/* Type Offset=50 */

+

+	/* Return value */

+

+/* 450 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 452 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 454 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 456 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 458 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 462 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 464 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 466 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 468 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 470 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 472 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 474 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 480 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter status */

+

+/* 482 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 484 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 486 */	NdrFcShort( 0x44 ),	/* Type Offset=68 */

+

+	/* Return value */

+

+/* 488 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 490 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 492 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 494 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 496 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 500 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 502 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 504 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 506 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 508 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 510 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 512 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 516 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 518 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter update_state */

+

+/* 520 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 522 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 524 */	NdrFcShort( 0x56 ),	/* Type Offset=86 */

+

+	/* Return value */

+

+/* 526 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 528 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 530 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 532 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 534 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 538 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 540 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 542 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 544 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 546 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 548 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 554 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 556 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter status */

+

+/* 558 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 560 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 562 */	NdrFcShort( 0x68 ),	/* Type Offset=104 */

+

+	/* Return value */

+

+/* 564 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 566 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 568 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 570 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 572 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 576 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 578 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 580 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 582 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 584 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 586 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 594 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 596 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 598 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 600 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 602 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 604 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 606 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 608 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 610 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 614 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 616 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 618 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 620 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 622 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 624 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 626 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 630 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0000 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0000 */

+

+/* 634 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 636 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 638 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 640 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 642 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 644 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+/* 646 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 648 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 652 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 654 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 656 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 658 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 660 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 662 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 664 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 666 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 668 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 670 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0001 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0001 */

+

+/* 672 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 674 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 676 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 678 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 680 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 682 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ap */

+

+

+	/* Procedure get_ap */

+

+/* 684 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 686 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 690 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 692 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 694 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 698 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 700 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 702 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 706 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 708 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0002 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0002 */

+

+/* 710 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 712 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 714 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 716 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 718 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 720 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandCode */

+

+

+	/* Procedure get_brandCode */

+

+/* 722 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 724 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 728 */	NdrFcShort( 0xa ),	/* 10 */

+/* 730 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 732 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 734 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 736 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 738 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 740 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 746 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0003 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0003 */

+

+/* 748 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 750 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 752 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 754 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 756 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 758 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandPath */

+

+

+	/* Procedure get_brandPath */

+

+/* 760 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 762 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 766 */	NdrFcShort( 0xb ),	/* 11 */

+/* 768 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 770 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 772 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 774 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 776 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 778 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 784 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0004 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0004 */

+

+/* 786 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 788 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 790 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 792 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 794 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 796 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 798 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 800 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 804 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 806 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 812 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 814 */	0xa,		/* 10 */

+			0x85,		/* Ext Flags:  new corr desc, srv corr check, has big byval param */

+/* 816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 818 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 822 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_states */

+

+

+	/* Parameter app_states */

+

+/* 824 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 826 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 828 */	NdrFcShort( 0x434 ),	/* Type Offset=1076 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 830 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 832 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 834 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetVersion */

+

+

+	/* Procedure GetVersion */

+

+/* 836 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 838 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 842 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 844 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 850 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 852 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 854 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 856 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 858 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 860 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+/* 862 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 864 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 866 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 868 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 870 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 872 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 874 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 876 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 880 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 882 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 884 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 886 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 888 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 890 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 894 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 896 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 898 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 900 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 902 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 904 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+/* 906 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 908 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 910 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 912 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 914 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 918 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 920 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 922 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 924 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 926 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 928 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 930 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 932 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 934 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 936 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 938 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 940 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 942 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 944 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 946 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 948 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 950 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 952 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 954 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 956 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 958 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 960 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 962 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 964 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 966 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 968 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 970 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 972 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter callback */

+

+/* 974 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 976 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 978 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+/* 980 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 982 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 984 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 986 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 988 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 992 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 994 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 996 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 998 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1000 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1002 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1004 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1006 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1008 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1010 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1012 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1014 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1016 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+/* 1018 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1020 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1022 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1024 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1026 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1030 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1032 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1034 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1036 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1038 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1040 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1042 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1044 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1050 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1052 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1054 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1056 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1058 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1060 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1062 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1064 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1066 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1068 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1070 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1072 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1074 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1076 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1078 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1080 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1082 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1086 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1088 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1090 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1092 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1094 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1096 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1104 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1106 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1108 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1110 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1112 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1114 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1116 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1118 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1120 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1122 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1124 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1126 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1128 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1130 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1132 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1134 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1136 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1138 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1140 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1142 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1144 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1148 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1150 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1152 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1154 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1156 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1158 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1164 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1166 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter observer */

+

+/* 1168 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1170 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1172 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1174 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1176 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1178 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1180 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1182 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1186 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1188 */	NdrFcShort( 0x60 ),	/* X64 Stack size/offset = 96 */

+/* 1190 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1192 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1194 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1196 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1198 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1200 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1202 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1204 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1206 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1208 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1210 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1212 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1214 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1216 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1218 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1220 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1222 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1224 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1226 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1228 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1230 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1232 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1234 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1236 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1238 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1240 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter client_install_data */

+

+/* 1242 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1244 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1246 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1248 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1250 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1252 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1254 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1256 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 1258 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1260 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1262 */	NdrFcShort( 0x50 ),	/* X64 Stack size/offset = 80 */

+/* 1264 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1266 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1268 */	NdrFcShort( 0x58 ),	/* X64 Stack size/offset = 88 */

+/* 1270 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CancelInstalls */

+

+

+	/* Procedure CancelInstalls */

+

+/* 1272 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1274 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1278 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1280 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1282 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1284 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1286 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1288 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1290 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1292 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1296 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1298 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1300 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1302 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1304 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1306 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1308 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1310 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1312 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1316 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1318 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1322 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1324 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 1326 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1328 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1332 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1334 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1336 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1338 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1340 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter installer_path */

+

+/* 1342 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1344 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1346 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_args */

+

+/* 1348 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1350 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1352 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data */

+

+/* 1354 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1356 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1358 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_settings */

+

+/* 1360 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1362 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1364 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter observer */

+

+/* 1366 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1368 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1370 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1372 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1374 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1376 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1378 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1380 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1384 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1386 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1388 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1390 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1392 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1394 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1396 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1398 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1400 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1402 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1404 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1406 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1408 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 1410 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1412 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1414 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 1416 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1418 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1422 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1424 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1426 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1428 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1430 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1432 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1434 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1436 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1438 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1440 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1442 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1444 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1446 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1448 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1450 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1452 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 1454 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1456 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1460 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1462 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 1464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1466 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1468 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 1470 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1474 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1478 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1480 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1482 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1484 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1486 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1488 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1490 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1492 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1494 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1496 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1498 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1500 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1502 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1504 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1506 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1508 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1510 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1512 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1514 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter callback */

+

+/* 1516 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1518 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1520 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1522 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1524 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1526 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 1528 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1530 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1534 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1536 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1538 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1540 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1542 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1544 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1546 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1554 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1556 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1558 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1560 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1562 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1564 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1566 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1568 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1572 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1574 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1576 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1578 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1580 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1582 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1584 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1590 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1592 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1594 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1596 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1598 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1600 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1602 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1604 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1606 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1608 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1610 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1612 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1614 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1616 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1618 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1620 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1622 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1624 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1628 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1630 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1632 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1634 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1636 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1638 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1640 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1644 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1646 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1648 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1650 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1652 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1654 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1656 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1658 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1660 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1662 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1664 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1666 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1668 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1670 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1672 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1674 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1676 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1678 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1680 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1682 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1684 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1686 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1690 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1692 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1694 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1696 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1698 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1700 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1702 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1706 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1708 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter observer */

+

+/* 1710 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1712 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1714 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1716 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1718 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1720 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1722 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1724 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1728 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1730 */	NdrFcShort( 0x60 ),	/* X64 Stack size/offset = 96 */

+/* 1732 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1734 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1736 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1738 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1740 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1746 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1748 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1750 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1752 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1754 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1756 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1758 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1760 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1762 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1764 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1766 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1768 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1770 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1772 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1774 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1776 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1778 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1780 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1782 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter client_install_data */

+

+/* 1784 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1786 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1788 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1790 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1792 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1794 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1796 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1798 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 1800 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1802 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1804 */	NdrFcShort( 0x50 ),	/* X64 Stack size/offset = 80 */

+/* 1806 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1808 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1810 */	NdrFcShort( 0x58 ),	/* X64 Stack size/offset = 88 */

+/* 1812 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1814 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1816 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1820 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1822 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1826 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1828 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 1830 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1832 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1836 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1838 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1840 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1842 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1844 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter installer_path */

+

+/* 1846 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1848 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1850 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_args */

+

+/* 1852 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1854 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1856 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data */

+

+/* 1858 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1860 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1862 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_settings */

+

+/* 1864 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1866 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1868 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter observer */

+

+/* 1870 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1872 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1874 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1876 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1878 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1880 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1882 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1884 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1888 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1890 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1894 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1896 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1898 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1902 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1904 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1906 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1908 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1910 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1912 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */

+

+	/* Return value */

+

+/* 1914 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1916 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1918 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_idl_system_MIDL_TYPE_FORMAT_STRING updater_idl_system__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/*  4 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/*  6 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  8 */	NdrFcShort( 0x1c ),	/* Offset= 28 (36) */

+/* 10 */	

+			0x13, 0x0,	/* FC_OP */

+/* 12 */	NdrFcShort( 0xe ),	/* Offset= 14 (26) */

+/* 14 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 16 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 18 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 20 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 22 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 24 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 26 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 28 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 30 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (14) */

+/* 32 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 34 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 36 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 42 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0xffde ),	/* Offset= -34 (10) */

+/* 46 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 48 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x46acf70b ),	/* 1185740555 */

+/* 56 */	NdrFcShort( 0xac13 ),	/* -21485 */

+/* 58 */	NdrFcShort( 0x406d ),	/* 16493 */

+/* 60 */	0xb5,		/* 181 */

+			0x3b,		/* 59 */

+/* 62 */	0xb2,		/* 178 */

+			0xc4,		/* 196 */

+/* 64 */	0xbf,		/* 191 */

+			0x9,		/* 9 */

+/* 66 */	0x1f,		/* 31 */

+			0xf6,		/* 246 */

+/* 68 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 70 */	NdrFcLong( 0x2fcd14af ),	/* 801969327 */

+/* 74 */	NdrFcShort( 0xb645 ),	/* -18875 */

+/* 76 */	NdrFcShort( 0x4351 ),	/* 17233 */

+/* 78 */	0x83,		/* 131 */

+			0x59,		/* 89 */

+/* 80 */	0xe8,		/* 232 */

+			0xa,		/* 10 */

+/* 82 */	0xe,		/* 14 */

+			0x20,		/* 32 */

+/* 84 */	0x2a,		/* 42 */

+			0xb,		/* 11 */

+/* 86 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 88 */	NdrFcLong( 0xea6fdc05 ),	/* -361767931 */

+/* 92 */	NdrFcShort( 0xcdc5 ),	/* -12859 */

+/* 94 */	NdrFcShort( 0x4ea4 ),	/* 20132 */

+/* 96 */	0xab,		/* 171 */

+			0x41,		/* 65 */

+/* 98 */	0xcc,		/* 204 */

+			0xbd,		/* 189 */

+/* 100 */	0x10,		/* 16 */

+			0x40,		/* 64 */

+/* 102 */	0xa2,		/* 162 */

+			0xb5,		/* 181 */

+/* 104 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 106 */	NdrFcLong( 0xe2bd9a6b ),	/* -490890645 */

+/* 110 */	NdrFcShort( 0xa19 ),	/* 2585 */

+/* 112 */	NdrFcShort( 0x4c89 ),	/* 19593 */

+/* 114 */	0xae,		/* 174 */

+			0x8b,		/* 139 */

+/* 116 */	0xb7,		/* 183 */

+			0xe9,		/* 233 */

+/* 118 */	0xe5,		/* 229 */

+			0x1d,		/* 29 */

+/* 120 */	0x9a,		/* 154 */

+			0x7,		/* 7 */

+/* 122 */	

+			0x11, 0x0,	/* FC_RP */

+/* 124 */	NdrFcShort( 0x3b8 ),	/* Offset= 952 (1076) */

+/* 126 */	

+			0x12, 0x0,	/* FC_UP */

+/* 128 */	NdrFcShort( 0x3a0 ),	/* Offset= 928 (1056) */

+/* 130 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 132 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 134 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 136 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 138 */	NdrFcShort( 0x2 ),	/* Offset= 2 (140) */

+/* 140 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 142 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 144 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 148 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 150 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 154 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 156 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 160 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 162 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 166 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 168 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 172 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 174 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 178 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 180 */	NdrFcLong( 0xb ),	/* 11 */

+/* 184 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 186 */	NdrFcLong( 0xa ),	/* 10 */

+/* 190 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 192 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 196 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (428) */

+/* 198 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 202 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 204 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 208 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (434) */

+/* 210 */	NdrFcLong( 0xd ),	/* 13 */

+/* 214 */	NdrFcShort( 0xe0 ),	/* Offset= 224 (438) */

+/* 216 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 220 */	NdrFcShort( 0xec ),	/* Offset= 236 (456) */

+/* 222 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 226 */	NdrFcShort( 0xf8 ),	/* Offset= 248 (474) */

+/* 228 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 232 */	NdrFcShort( 0x2ee ),	/* Offset= 750 (982) */

+/* 234 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 238 */	NdrFcShort( 0x2e8 ),	/* Offset= 744 (982) */

+/* 240 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 244 */	NdrFcShort( 0x2e6 ),	/* Offset= 742 (986) */

+/* 246 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 250 */	NdrFcShort( 0x2e4 ),	/* Offset= 740 (990) */

+/* 252 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 256 */	NdrFcShort( 0x2e2 ),	/* Offset= 738 (994) */

+/* 258 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 262 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (998) */

+/* 264 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 268 */	NdrFcShort( 0x2de ),	/* Offset= 734 (1002) */

+/* 270 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 274 */	NdrFcShort( 0x2dc ),	/* Offset= 732 (1006) */

+/* 276 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 280 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (990) */

+/* 282 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 286 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (994) */

+/* 288 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 292 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (1010) */

+/* 294 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 298 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (1006) */

+/* 300 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 304 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (1014) */

+/* 306 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 310 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (1018) */

+/* 312 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 316 */	NdrFcShort( 0x2c2 ),	/* Offset= 706 (1022) */

+/* 318 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 322 */	NdrFcShort( 0x2c0 ),	/* Offset= 704 (1026) */

+/* 324 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 328 */	NdrFcShort( 0x2be ),	/* Offset= 702 (1030) */

+/* 330 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 334 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 336 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 340 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 342 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 346 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 348 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 352 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 354 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 358 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 360 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 364 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 366 */	NdrFcLong( 0xe ),	/* 14 */

+/* 370 */	NdrFcShort( 0x29c ),	/* Offset= 668 (1038) */

+/* 372 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 376 */	NdrFcShort( 0x2a0 ),	/* Offset= 672 (1048) */

+/* 378 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 382 */	NdrFcShort( 0x29e ),	/* Offset= 670 (1052) */

+/* 384 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 388 */	NdrFcShort( 0x25a ),	/* Offset= 602 (990) */

+/* 390 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 394 */	NdrFcShort( 0x258 ),	/* Offset= 600 (994) */

+/* 396 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 400 */	NdrFcShort( 0x256 ),	/* Offset= 598 (998) */

+/* 402 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 406 */	NdrFcShort( 0x24c ),	/* Offset= 588 (994) */

+/* 408 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 412 */	NdrFcShort( 0x246 ),	/* Offset= 582 (994) */

+/* 414 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 418 */	NdrFcShort( 0x0 ),	/* Offset= 0 (418) */

+/* 420 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 424 */	NdrFcShort( 0x0 ),	/* Offset= 0 (424) */

+/* 426 */	NdrFcShort( 0xffff ),	/* Offset= -1 (425) */

+/* 428 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 430 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 432 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 434 */	

+			0x12, 0x0,	/* FC_UP */

+/* 436 */	NdrFcShort( 0xfe66 ),	/* Offset= -410 (26) */

+/* 438 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 440 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 448 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 450 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 452 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 454 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 456 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 458 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 462 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 466 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 468 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 470 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 472 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 474 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 476 */	NdrFcShort( 0x2 ),	/* Offset= 2 (478) */

+/* 478 */	

+			0x12, 0x0,	/* FC_UP */

+/* 480 */	NdrFcShort( 0x1e4 ),	/* Offset= 484 (964) */

+/* 482 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x89,		/* 137 */

+/* 484 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 486 */	NdrFcShort( 0xa ),	/* 10 */

+/* 488 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 492 */	NdrFcShort( 0x50 ),	/* Offset= 80 (572) */

+/* 494 */	NdrFcLong( 0xd ),	/* 13 */

+/* 498 */	NdrFcShort( 0x70 ),	/* Offset= 112 (610) */

+/* 500 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 504 */	NdrFcShort( 0x90 ),	/* Offset= 144 (648) */

+/* 506 */	NdrFcLong( 0xc ),	/* 12 */

+/* 510 */	NdrFcShort( 0xb0 ),	/* Offset= 176 (686) */

+/* 512 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 516 */	NdrFcShort( 0x102 ),	/* Offset= 258 (774) */

+/* 518 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 522 */	NdrFcShort( 0x11e ),	/* Offset= 286 (808) */

+/* 524 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 528 */	NdrFcShort( 0x138 ),	/* Offset= 312 (840) */

+/* 530 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 534 */	NdrFcShort( 0x14e ),	/* Offset= 334 (868) */

+/* 536 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 540 */	NdrFcShort( 0x164 ),	/* Offset= 356 (896) */

+/* 542 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 546 */	NdrFcShort( 0x17a ),	/* Offset= 378 (924) */

+/* 548 */	NdrFcShort( 0xffff ),	/* Offset= -1 (547) */

+/* 550 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 554 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 556 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 558 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 560 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 564 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 566 */	

+			0x12, 0x0,	/* FC_UP */

+/* 568 */	NdrFcShort( 0xfde2 ),	/* Offset= -542 (26) */

+/* 570 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 572 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 574 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 576 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 578 */	NdrFcShort( 0x6 ),	/* Offset= 6 (584) */

+/* 580 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 582 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 584 */	

+			0x11, 0x0,	/* FC_RP */

+/* 586 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (550) */

+/* 588 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 592 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 596 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 598 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 602 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 604 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 606 */	NdrFcShort( 0xff58 ),	/* Offset= -168 (438) */

+/* 608 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 610 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 612 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 616 */	NdrFcShort( 0x6 ),	/* Offset= 6 (622) */

+/* 618 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 620 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 622 */	

+			0x11, 0x0,	/* FC_RP */

+/* 624 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (588) */

+/* 626 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 630 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 634 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 636 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 640 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 642 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 644 */	NdrFcShort( 0xff44 ),	/* Offset= -188 (456) */

+/* 646 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 648 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 650 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 652 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 654 */	NdrFcShort( 0x6 ),	/* Offset= 6 (660) */

+/* 656 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 658 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 660 */	

+			0x11, 0x0,	/* FC_RP */

+/* 662 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (626) */

+/* 664 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 666 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 668 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 672 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 674 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 678 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 680 */	

+			0x12, 0x0,	/* FC_UP */

+/* 682 */	NdrFcShort( 0x176 ),	/* Offset= 374 (1056) */

+/* 684 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 686 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 688 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 690 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 692 */	NdrFcShort( 0x6 ),	/* Offset= 6 (698) */

+/* 694 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 696 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 698 */	

+			0x11, 0x0,	/* FC_RP */

+/* 700 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (664) */

+/* 702 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 704 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 714 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 716 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 718 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 720 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 722 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 724 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 726 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 728 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 730 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 732 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 734 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 736 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 738 */	NdrFcShort( 0xa ),	/* Offset= 10 (748) */

+/* 740 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 742 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 744 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (702) */

+/* 746 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 748 */	

+			0x12, 0x0,	/* FC_UP */

+/* 750 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (720) */

+/* 752 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 756 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 762 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 766 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 768 */	

+			0x12, 0x0,	/* FC_UP */

+/* 770 */	NdrFcShort( 0xffda ),	/* Offset= -38 (732) */

+/* 772 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 774 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 776 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 778 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 780 */	NdrFcShort( 0x6 ),	/* Offset= 6 (786) */

+/* 782 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 784 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 786 */	

+			0x11, 0x0,	/* FC_RP */

+/* 788 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (752) */

+/* 790 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 792 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 794 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 796 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 798 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 800 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 802 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 804 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (790) */

+			0x5b,		/* FC_END */

+/* 808 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 810 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 812 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 814 */	NdrFcShort( 0xa ),	/* Offset= 10 (824) */

+/* 816 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 818 */	0x36,		/* FC_POINTER */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 820 */	0x0,		/* 0 */

+			NdrFcShort( 0xffe7 ),	/* Offset= -25 (796) */

+			0x5b,		/* FC_END */

+/* 824 */	

+			0x11, 0x0,	/* FC_RP */

+/* 826 */	NdrFcShort( 0xff12 ),	/* Offset= -238 (588) */

+/* 828 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 830 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 832 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 836 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 838 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 840 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 842 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 844 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 846 */	NdrFcShort( 0x6 ),	/* Offset= 6 (852) */

+/* 848 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 850 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 852 */	

+			0x12, 0x0,	/* FC_UP */

+/* 854 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (828) */

+/* 856 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 858 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 860 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 864 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 866 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 868 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 870 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 872 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 874 */	NdrFcShort( 0x6 ),	/* Offset= 6 (880) */

+/* 876 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 878 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 880 */	

+			0x12, 0x0,	/* FC_UP */

+/* 882 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (856) */

+/* 884 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 886 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 888 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 890 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 892 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 894 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 896 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 898 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 902 */	NdrFcShort( 0x6 ),	/* Offset= 6 (908) */

+/* 904 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 906 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 908 */	

+			0x12, 0x0,	/* FC_UP */

+/* 910 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (884) */

+/* 912 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 914 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 916 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 918 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 920 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 922 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 924 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 926 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 930 */	NdrFcShort( 0x6 ),	/* Offset= 6 (936) */

+/* 932 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 934 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 936 */	

+			0x12, 0x0,	/* FC_UP */

+/* 938 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (912) */

+/* 940 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 942 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 944 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 946 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 948 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 950 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 952 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 954 */	NdrFcShort( 0xffc8 ),	/* -56 */

+/* 956 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 958 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 960 */	NdrFcShort( 0xffec ),	/* Offset= -20 (940) */

+/* 962 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 964 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 966 */	NdrFcShort( 0x38 ),	/* 56 */

+/* 968 */	NdrFcShort( 0xffec ),	/* Offset= -20 (948) */

+/* 970 */	NdrFcShort( 0x0 ),	/* Offset= 0 (970) */

+/* 972 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 974 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 976 */	0x40,		/* FC_STRUCTPAD4 */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 978 */	0x0,		/* 0 */

+			NdrFcShort( 0xfe0f ),	/* Offset= -497 (482) */

+			0x5b,		/* FC_END */

+/* 982 */	

+			0x12, 0x0,	/* FC_UP */

+/* 984 */	NdrFcShort( 0xff04 ),	/* Offset= -252 (732) */

+/* 986 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 988 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 990 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 992 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 994 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 996 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 998 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1000 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1004 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 1006 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1008 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1010 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1012 */	NdrFcShort( 0xfdb8 ),	/* Offset= -584 (428) */

+/* 1014 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1016 */	NdrFcShort( 0xfdba ),	/* Offset= -582 (434) */

+/* 1018 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1020 */	NdrFcShort( 0xfdba ),	/* Offset= -582 (438) */

+/* 1022 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1024 */	NdrFcShort( 0xfdc8 ),	/* Offset= -568 (456) */

+/* 1026 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1028 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (474) */

+/* 1030 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1032 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1034) */

+/* 1034 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1036 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1056) */

+/* 1038 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 1040 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1042 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 1044 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 1046 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 1048 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1050 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1038) */

+/* 1052 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1054 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1056 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1058 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1060 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1062 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1062) */

+/* 1064 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1066 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1068 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1070 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1072 */	NdrFcShort( 0xfc52 ),	/* Offset= -942 (130) */

+/* 1074 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1076 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1078 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1080 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1082 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1084 */	NdrFcShort( 0xfc42 ),	/* Offset= -958 (126) */

+/* 1086 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1088 */	NdrFcLong( 0x8bab6f84 ),	/* -1951699068 */

+/* 1092 */	NdrFcShort( 0xad67 ),	/* -21145 */

+/* 1094 */	NdrFcShort( 0x4819 ),	/* 18457 */

+/* 1096 */	0xb8,		/* 184 */

+			0x46,		/* 70 */

+/* 1098 */	0xcc,		/* 204 */

+			0x89,		/* 137 */

+/* 1100 */	0x8,		/* 8 */

+			0x80,		/* 128 */

+/* 1102 */	0xfd,		/* 253 */

+			0x3b,		/* 59 */

+/* 1104 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1106 */	

+			0x25,		/* FC_C_WSTRING */

+			0x5c,		/* FC_PAD */

+/* 1108 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1110 */	NdrFcLong( 0x7b416cfd ),	/* 2067885309 */

+/* 1114 */	NdrFcShort( 0x4216 ),	/* 16918 */

+/* 1116 */	NdrFcShort( 0x4fd6 ),	/* 20438 */

+/* 1118 */	0xbd,		/* 189 */

+			0x83,		/* 131 */

+/* 1120 */	0x7c,		/* 124 */

+			0x58,		/* 88 */

+/* 1122 */	0x60,		/* 96 */

+			0x54,		/* 84 */

+/* 1124 */	0x67,		/* 103 */

+			0x6e,		/* 110 */

+/* 1126 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1128 */	NdrFcLong( 0xefe903c0 ),	/* -269941824 */

+/* 1132 */	NdrFcShort( 0xe820 ),	/* -6112 */

+/* 1134 */	NdrFcShort( 0x4136 ),	/* 16694 */

+/* 1136 */	0x9f,		/* 159 */

+			0xae,		/* 174 */

+/* 1138 */	0xfd,		/* 253 */

+			0xcd,		/* 205 */

+/* 1140 */	0x7f,		/* 127 */

+			0x25,		/* 37 */

+/* 1142 */	0x63,		/* 99 */

+			0x2,		/* 2 */

+/* 1144 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1146 */	NdrFcLong( 0xf0d6763a ),	/* -254380486 */

+/* 1150 */	NdrFcShort( 0x182 ),	/* 386 */

+/* 1152 */	NdrFcShort( 0x4136 ),	/* 16694 */

+/* 1154 */	0xb1,		/* 177 */

+			0xfa,		/* 250 */

+/* 1156 */	0x50,		/* 80 */

+			0x8e,		/* 142 */

+/* 1158 */	0x33,		/* 51 */

+			0x4c,		/* 76 */

+/* 1160 */	0xff,		/* 255 */

+			0xc1,		/* 193 */

+/* 1162 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1164 */	NdrFcLong( 0x57b500a ),	/* 91967498 */

+/* 1168 */	NdrFcShort( 0x4ba2 ),	/* 19362 */

+/* 1170 */	NdrFcShort( 0x496a ),	/* 18794 */

+/* 1172 */	0xb1,		/* 177 */

+			0xcd,		/* 205 */

+/* 1174 */	0xc5,		/* 197 */

+			0xde,		/* 222 */

+/* 1176 */	0xd3,		/* 211 */

+			0xcc,		/* 204 */

+/* 1178 */	0xc6,		/* 198 */

+			0x1b,		/* 27 */

+/* 1180 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1182 */	NdrFcLong( 0x2cb8867e ),	/* 750290558 */

+/* 1186 */	NdrFcShort( 0x495e ),	/* 18782 */

+/* 1188 */	NdrFcShort( 0x459f ),	/* 17823 */

+/* 1190 */	0xb1,		/* 177 */

+			0xb6,		/* 182 */

+/* 1192 */	0x2d,		/* 45 */

+			0xd7,		/* 215 */

+/* 1194 */	0xff,		/* 255 */

+			0xdb,		/* 219 */

+/* 1196 */	0xd4,		/* 212 */

+			0x62,		/* 98 */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdateState, ver. 0.0,

+   GUID={0x46ACF70B,0xAC13,0x406D,{0xB5,0x3B,0xB2,0xC4,0xBF,0x09,0x1F,0xF6}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateState_FormatStringOffsetTable[] =

+    {

+    0,

+    38,

+    76,

+    114,

+    152,

+    190,

+    228,

+    266,

+    304,

+    342,

+    380

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateProxyVtbl = 

+{

+    &IUpdateState_ProxyInfo,

+    &IID_IUpdateState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateStubVtbl =

+{

+    &IID_IUpdateState,

+    &IUpdateState_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdateStateSystem, ver. 0.0,

+   GUID={0xEA6FDC05,0xCDC5,0x4EA4,{0xAB,0x41,0xCC,0xBD,0x10,0x40,0xA2,0xB5}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateStateSystem_FormatStringOffsetTable[] =

+    {

+    0,

+    38,

+    76,

+    114,

+    152,

+    190,

+    228,

+    266,

+    304,

+    342,

+    380

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateStateSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateStateSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateSystemProxyVtbl = 

+{

+    &IUpdateStateSystem_ProxyInfo,

+    &IID_IUpdateStateSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateSystemStubVtbl =

+{

+    &IID_IUpdateStateSystem,

+    &IUpdateStateSystem_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatus, ver. 0.0,

+   GUID={0x2FCD14AF,0xB645,0x4351,{0x83,0x59,0xE8,0x0A,0x0E,0x20,0x2A,0x0B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatus_FormatStringOffsetTable[] =

+    {

+    0,

+    38

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusProxyVtbl = 

+{

+    &ICompleteStatus_ProxyInfo,

+    &IID_ICompleteStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusStubVtbl =

+{

+    &IID_ICompleteStatus,

+    &ICompleteStatus_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatusSystem, ver. 0.0,

+   GUID={0xE2BD9A6B,0x0A19,0x4C89,{0xAE,0x8B,0xB7,0xE9,0xE5,0x1D,0x9A,0x07}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatusSystem_FormatStringOffsetTable[] =

+    {

+    0,

+    38

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatusSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatusSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusSystemProxyVtbl = 

+{

+    &ICompleteStatusSystem_ProxyInfo,

+    &IID_ICompleteStatusSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusSystem::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusSystem::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusSystemStubVtbl =

+{

+    &IID_ICompleteStatusSystem,

+    &ICompleteStatusSystem_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserver, ver. 0.0,

+   GUID={0x7B416CFD,0x4216,0x4FD6,{0xBD,0x83,0x7C,0x58,0x60,0x54,0x67,0x6E}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserver_FormatStringOffsetTable[] =

+    {

+    418,

+    456

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverProxyVtbl = 

+{

+    &IUpdaterObserver_ProxyInfo,

+    &IID_IUpdaterObserver,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverStubVtbl =

+{

+    &IID_IUpdaterObserver,

+    &IUpdaterObserver_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserverSystem, ver. 0.0,

+   GUID={0x057B500A,0x4BA2,0x496A,{0xB1,0xCD,0xC5,0xDE,0xD3,0xCC,0xC6,0x1B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserverSystem_FormatStringOffsetTable[] =

+    {

+    494,

+    532

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserverSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverSystemProxyVtbl = 

+{

+    &IUpdaterObserverSystem_ProxyInfo,

+    &IID_IUpdaterObserverSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverSystem::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverSystem::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverSystemStubVtbl =

+{

+    &IID_IUpdaterObserverSystem,

+    &IUpdaterObserverSystem_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallback, ver. 0.0,

+   GUID={0x8BAB6F84,0xAD67,0x4819,{0xB8,0x46,0xCC,0x89,0x08,0x80,0xFD,0x3B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallback_FormatStringOffsetTable[] =

+    {

+    570

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackProxyVtbl = 

+{

+    &IUpdaterCallback_ProxyInfo,

+    &IID_IUpdaterCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackStubVtbl =

+{

+    &IID_IUpdaterCallback,

+    &IUpdaterCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallbackSystem, ver. 0.0,

+   GUID={0xF0D6763A,0x0182,0x4136,{0xB1,0xFA,0x50,0x8E,0x33,0x4C,0xFF,0xC1}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallbackSystem_FormatStringOffsetTable[] =

+    {

+    570

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallbackSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackSystemProxyVtbl = 

+{

+    &IUpdaterCallbackSystem_ProxyInfo,

+    &IID_IUpdaterCallbackSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallbackSystem::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackSystemStubVtbl =

+{

+    &IID_IUpdaterCallbackSystem,

+    &IUpdaterCallbackSystem_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterAppState, ver. 0.0,

+   GUID={0xA22AFC54,0x2DEF,0x4578,{0x91,0x87,0xDB,0x3B,0x24,0x38,0x10,0x90}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    608,

+    646,

+    684,

+    722,

+    760,

+    342

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateProxyVtbl = 

+{

+    &IUpdaterAppState_ProxyInfo,

+    &IID_IUpdaterAppState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateStubVtbl =

+{

+    &IID_IUpdaterAppState,

+    &IUpdaterAppState_ServerInfo,

+    13,

+    &IUpdaterAppState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStateSystem, ver. 0.0,

+   GUID={0x92631531,0x8044,0x46F4,{0xB6,0x45,0xCD,0xFB,0xCC,0xC7,0xFA,0x3B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStateSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    608,

+    646,

+    684,

+    722,

+    760,

+    342

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStateSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateSystemProxyVtbl = 

+{

+    &IUpdaterAppStateSystem_ProxyInfo,

+    &IID_IUpdaterAppStateSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppStateSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateSystemStubVtbl =

+{

+    &IID_IUpdaterAppStateSystem,

+    &IUpdaterAppStateSystem_ServerInfo,

+    13,

+    &IUpdaterAppStateSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallback, ver. 0.0,

+   GUID={0xEFE903C0,0xE820,0x4136,{0x9F,0xAE,0xFD,0xCD,0x7F,0x25,0x63,0x02}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallback_FormatStringOffsetTable[] =

+    {

+    798

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackProxyVtbl = 

+{

+    &IUpdaterAppStatesCallback_ProxyInfo,

+    &IID_IUpdaterAppStatesCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallback,

+    &IUpdaterAppStatesCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallbackSystem, ver. 0.0,

+   GUID={0x2CB8867E,0x495E,0x459F,{0xB1,0xB6,0x2D,0xD7,0xFF,0xDB,0xD4,0x62}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallbackSystem_FormatStringOffsetTable[] =

+    {

+    798

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallbackSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackSystemProxyVtbl = 

+{

+    &IUpdaterAppStatesCallbackSystem_ProxyInfo,

+    &IID_IUpdaterAppStatesCallbackSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallbackSystem::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackSystemStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallbackSystem,

+    &IUpdaterAppStatesCallbackSystem_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdater, ver. 0.0,

+   GUID={0x63B8FFB1,0x5314,0x48C9,{0x9C,0x57,0x93,0xEC,0x8B,0xC6,0x18,0x4B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdater_FormatStringOffsetTable[] =

+    {

+    836,

+    874,

+    912,

+    986,

+    1024,

+    1080,

+    1142,

+    1180,

+    1272,

+    1310,

+    1378

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdater_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterProxyVtbl = 

+{

+    &IUpdater_ProxyInfo,

+    &IID_IUpdater,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterStubVtbl =

+{

+    &IID_IUpdater,

+    &IUpdater_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterSystem, ver. 0.0,

+   GUID={0xFCE335F3,0xA55C,0x496E,{0x81,0x4F,0x85,0x97,0x1C,0x9F,0xA6,0xF1}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterSystem_FormatStringOffsetTable[] =

+    {

+    836,

+    1416,

+    1454,

+    1528,

+    1566,

+    1622,

+    1684,

+    1722,

+    1272,

+    1814,

+    1882

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterSystemProxyVtbl = 

+{

+    &IUpdaterSystem_ProxyInfo,

+    &IID_IUpdaterSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterSystemStubVtbl =

+{

+    &IID_IUpdaterSystem,

+    &IUpdaterSystem_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_idl_system__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_idl_system_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdateStateSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdateStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_idl_system_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdateStateSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdateStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_idl_system_InterfaceNamesList[] = 

+{

+    "IUpdateStateSystem",

+    "IUpdaterObserverSystem",

+    "IUpdateState",

+    "IUpdaterAppStateSystem",

+    "IUpdaterCallbackSystem",

+    "IUpdaterAppState",

+    "ICompleteStatusSystem",

+    "IUpdaterAppStatesCallbackSystem",

+    "IUpdaterCallback",

+    "ICompleteStatus",

+    "IUpdater",

+    "IUpdaterAppStatesCallback",

+    "IUpdaterSystem",

+    "IUpdaterObserver",

+    0

+};

+

+const IID *  const _updater_idl_system_BaseIIDList[] = 

+{

+    0,

+    0,

+    0,

+    &IID_IDispatch,

+    0,

+    &IID_IDispatch,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0

+};

+

+

+#define _updater_idl_system_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_idl_system, pIID, n)

+

+int __stdcall _updater_idl_system_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_idl_system, 14, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_system, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_system, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_system, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_idl_system, 14, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_idl_system_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_idl_system_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_idl_system_StubVtblList,

+    (const PCInterfaceName * ) & _updater_idl_system_InterfaceNamesList,

+    (const IID ** ) & _updater_idl_system_BaseIIDList,

+    & _updater_idl_system_IID_Lookup, 

+    14,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_AMD64)*/

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user.dlldata.c
new file mode 100644
index 0000000..bc466fc
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_idl_user )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_idl_user ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user.h
new file mode 100644
index 0000000..2c6baa5f
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user.h
@@ -0,0 +1,2284 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_idl_user_h__

+#define __updater_idl_user_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdateState_FWD_DEFINED__

+#define __IUpdateState_FWD_DEFINED__

+typedef interface IUpdateState IUpdateState;

+

+#endif 	/* __IUpdateState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateUser_FWD_DEFINED__

+#define __IUpdateStateUser_FWD_DEFINED__

+typedef interface IUpdateStateUser IUpdateStateUser;

+

+#endif 	/* __IUpdateStateUser_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_FWD_DEFINED__

+#define __ICompleteStatus_FWD_DEFINED__

+typedef interface ICompleteStatus ICompleteStatus;

+

+#endif 	/* __ICompleteStatus_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusUser_FWD_DEFINED__

+#define __ICompleteStatusUser_FWD_DEFINED__

+typedef interface ICompleteStatusUser ICompleteStatusUser;

+

+#endif 	/* __ICompleteStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_FWD_DEFINED__

+#define __IUpdaterObserver_FWD_DEFINED__

+typedef interface IUpdaterObserver IUpdaterObserver;

+

+#endif 	/* __IUpdaterObserver_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverUser_FWD_DEFINED__

+#define __IUpdaterObserverUser_FWD_DEFINED__

+typedef interface IUpdaterObserverUser IUpdaterObserverUser;

+

+#endif 	/* __IUpdaterObserverUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_FWD_DEFINED__

+#define __IUpdaterCallback_FWD_DEFINED__

+typedef interface IUpdaterCallback IUpdaterCallback;

+

+#endif 	/* __IUpdaterCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackUser_FWD_DEFINED__

+#define __IUpdaterCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterCallbackUser IUpdaterCallbackUser;

+

+#endif 	/* __IUpdaterCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateUser_FWD_DEFINED__

+#define __IUpdaterAppStateUser_FWD_DEFINED__

+typedef interface IUpdaterAppStateUser IUpdaterAppStateUser;

+

+#endif 	/* __IUpdaterAppStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_FWD_DEFINED__

+#define __IUpdaterAppStatesCallback_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallback IUpdaterAppStatesCallback;

+

+#endif 	/* __IUpdaterAppStatesCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackUser IUpdaterAppStatesCallbackUser;

+

+#endif 	/* __IUpdaterAppStatesCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdater_FWD_DEFINED__

+#define __IUpdater_FWD_DEFINED__

+typedef interface IUpdater IUpdater;

+

+#endif 	/* __IUpdater_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterUser_FWD_DEFINED__

+#define __IUpdaterUser_FWD_DEFINED__

+typedef interface IUpdaterUser IUpdaterUser;

+

+#endif 	/* __IUpdaterUser_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterUserClass_FWD_DEFINED__

+#define __UpdaterUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterUserClass UpdaterUserClass;

+#else

+typedef struct UpdaterUserClass UpdaterUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterSystemClass_FWD_DEFINED__

+#define __UpdaterSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterSystemClass UpdaterSystemClass;

+#else

+typedef struct UpdaterSystemClass UpdaterSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateUser_FWD_DEFINED__

+#define __IUpdateStateUser_FWD_DEFINED__

+typedef interface IUpdateStateUser IUpdateStateUser;

+

+#endif 	/* __IUpdateStateUser_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusUser_FWD_DEFINED__

+#define __ICompleteStatusUser_FWD_DEFINED__

+typedef interface ICompleteStatusUser ICompleteStatusUser;

+

+#endif 	/* __ICompleteStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverUser_FWD_DEFINED__

+#define __IUpdaterObserverUser_FWD_DEFINED__

+typedef interface IUpdaterObserverUser IUpdaterObserverUser;

+

+#endif 	/* __IUpdaterObserverUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackUser_FWD_DEFINED__

+#define __IUpdaterCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterCallbackUser IUpdaterCallbackUser;

+

+#endif 	/* __IUpdaterCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateUser_FWD_DEFINED__

+#define __IUpdaterAppStateUser_FWD_DEFINED__

+typedef interface IUpdaterAppStateUser IUpdaterAppStateUser;

+

+#endif 	/* __IUpdaterAppStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackUser IUpdaterAppStatesCallbackUser;

+

+#endif 	/* __IUpdaterAppStatesCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterUser_FWD_DEFINED__

+#define __IUpdaterUser_FWD_DEFINED__

+typedef interface IUpdaterUser IUpdaterUser;

+

+#endif 	/* __IUpdaterUser_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdateState_INTERFACE_DEFINED__

+#define __IUpdateState_INTERFACE_DEFINED__

+

+/* interface IUpdateState */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("46ACF70B-AC13-406D-B53B-B2C4BF091FF6")

+    IUpdateState : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010);

+        

+        END_INTERFACE

+    } IUpdateStateVtbl;

+

+    interface IUpdateState

+    {

+        CONST_VTBL struct IUpdateStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateState_get_state(This,__MIDL__IUpdateState0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateState0000) ) 

+

+#define IUpdateState_get_appId(This,__MIDL__IUpdateState0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateState0001) ) 

+

+#define IUpdateState_get_nextVersion(This,__MIDL__IUpdateState0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateState0002) ) 

+

+#define IUpdateState_get_downloadedBytes(This,__MIDL__IUpdateState0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateState0003) ) 

+

+#define IUpdateState_get_totalBytes(This,__MIDL__IUpdateState0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateState0004) ) 

+

+#define IUpdateState_get_installProgress(This,__MIDL__IUpdateState0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateState0005) ) 

+

+#define IUpdateState_get_errorCategory(This,__MIDL__IUpdateState0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateState0006) ) 

+

+#define IUpdateState_get_errorCode(This,__MIDL__IUpdateState0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateState0007) ) 

+

+#define IUpdateState_get_extraCode1(This,__MIDL__IUpdateState0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateState0008) ) 

+

+#define IUpdateState_get_installerText(This,__MIDL__IUpdateState0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateState0009) ) 

+

+#define IUpdateState_get_installerCommandLine(This,__MIDL__IUpdateState0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateState0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdateStateUser_INTERFACE_DEFINED__

+#define __IUpdateStateUser_INTERFACE_DEFINED__

+

+/* interface IUpdateStateUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateStateUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("C3485D9F-C684-4C43-B85B-E339EA395C29")

+    IUpdateStateUser : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0010);

+        

+        END_INTERFACE

+    } IUpdateStateUserVtbl;

+

+    interface IUpdateStateUser

+    {

+        CONST_VTBL struct IUpdateStateUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateStateUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateStateUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateStateUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateStateUser_get_state(This,__MIDL__IUpdateStateUser0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateStateUser0000) ) 

+

+#define IUpdateStateUser_get_appId(This,__MIDL__IUpdateStateUser0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateStateUser0001) ) 

+

+#define IUpdateStateUser_get_nextVersion(This,__MIDL__IUpdateStateUser0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateStateUser0002) ) 

+

+#define IUpdateStateUser_get_downloadedBytes(This,__MIDL__IUpdateStateUser0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateStateUser0003) ) 

+

+#define IUpdateStateUser_get_totalBytes(This,__MIDL__IUpdateStateUser0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateStateUser0004) ) 

+

+#define IUpdateStateUser_get_installProgress(This,__MIDL__IUpdateStateUser0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateStateUser0005) ) 

+

+#define IUpdateStateUser_get_errorCategory(This,__MIDL__IUpdateStateUser0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateStateUser0006) ) 

+

+#define IUpdateStateUser_get_errorCode(This,__MIDL__IUpdateStateUser0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateStateUser0007) ) 

+

+#define IUpdateStateUser_get_extraCode1(This,__MIDL__IUpdateStateUser0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateStateUser0008) ) 

+

+#define IUpdateStateUser_get_installerText(This,__MIDL__IUpdateStateUser0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateStateUser0009) ) 

+

+#define IUpdateStateUser_get_installerCommandLine(This,__MIDL__IUpdateStateUser0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateStateUser0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateStateUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_INTERFACE_DEFINED__

+#define __ICompleteStatus_INTERFACE_DEFINED__

+

+/* interface ICompleteStatus */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2FCD14AF-B645-4351-8359-E80A0E202A0B")

+    ICompleteStatus : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001);

+        

+        END_INTERFACE

+    } ICompleteStatusVtbl;

+

+    interface ICompleteStatus

+    {

+        CONST_VTBL struct ICompleteStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatus_get_statusCode(This,__MIDL__ICompleteStatus0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatus0000) ) 

+

+#define ICompleteStatus_get_statusMessage(This,__MIDL__ICompleteStatus0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatus0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatusUser_INTERFACE_DEFINED__

+#define __ICompleteStatusUser_INTERFACE_DEFINED__

+

+/* interface ICompleteStatusUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatusUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("9AD1A645-5A4B-4D36-BC21-F0059482E6EA")

+    ICompleteStatusUser : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusUser0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatusUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusUser, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatusUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusUser0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusUser, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatusUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusUser0001);

+        

+        END_INTERFACE

+    } ICompleteStatusUserVtbl;

+

+    interface ICompleteStatusUser

+    {

+        CONST_VTBL struct ICompleteStatusUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatusUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatusUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatusUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatusUser_get_statusCode(This,__MIDL__ICompleteStatusUser0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatusUser0000) ) 

+

+#define ICompleteStatusUser_get_statusMessage(This,__MIDL__ICompleteStatusUser0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatusUser0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatusUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_INTERFACE_DEFINED__

+#define __IUpdaterObserver_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserver */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserver;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7B416CFD-4216-4FD6-BD83-7C586054676E")

+    IUpdaterObserver : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateState *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatus *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserver * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserver * This,

+            /* [in] */ IUpdateState *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserver * This,

+            /* [in] */ ICompleteStatus *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverVtbl;

+

+    interface IUpdaterObserver

+    {

+        CONST_VTBL struct IUpdaterObserverVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserver_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserver_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserver_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserver_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserver_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserver_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverUser_INTERFACE_DEFINED__

+#define __IUpdaterObserverUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserverUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserverUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("B54493A0-65B7-408C-B650-06265D2182AC")

+    IUpdaterObserverUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateStateUser *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatusUser *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserverUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserverUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserverUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverUser, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserverUser * This,

+            /* [in] */ IUpdateStateUser *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverUser, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserverUser * This,

+            /* [in] */ ICompleteStatusUser *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverUserVtbl;

+

+    interface IUpdaterObserverUser

+    {

+        CONST_VTBL struct IUpdaterObserverUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserverUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserverUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserverUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserverUser_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserverUser_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserverUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_INTERFACE_DEFINED__

+#define __IUpdaterCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("8BAB6F84-AD67-4819-B846-CC890880FD3B")

+    IUpdaterCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackVtbl;

+

+    interface IUpdaterCallback

+    {

+        CONST_VTBL struct IUpdaterCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackUser_INTERFACE_DEFINED__

+#define __IUpdaterCallbackUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallbackUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallbackUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("34ADC89D-552B-4102-8AE5-D613A691335B")

+    IUpdaterCallbackUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallbackUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallbackUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallbackUser * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackUserVtbl;

+

+    interface IUpdaterCallbackUser

+    {

+        CONST_VTBL struct IUpdaterCallbackUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallbackUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallbackUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallbackUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallbackUser_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallbackUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_INTERFACE_DEFINED__

+#define __IUpdaterAppState_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A22AFC54-2DEF-4578-9187-DB3B24381090")

+    IUpdaterAppState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateVtbl;

+

+    interface IUpdaterAppState

+    {

+        CONST_VTBL struct IUpdaterAppStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppState_get_appId(This,__MIDL__IUpdaterAppState0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppState0000) ) 

+

+#define IUpdaterAppState_get_version(This,__MIDL__IUpdaterAppState0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppState0001) ) 

+

+#define IUpdaterAppState_get_ap(This,__MIDL__IUpdaterAppState0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppState0002) ) 

+

+#define IUpdaterAppState_get_brandCode(This,__MIDL__IUpdaterAppState0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppState0003) ) 

+

+#define IUpdaterAppState_get_brandPath(This,__MIDL__IUpdaterAppState0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppState0004) ) 

+

+#define IUpdaterAppState_get_ecp(This,__MIDL__IUpdaterAppState0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppState0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateUser_INTERFACE_DEFINED__

+#define __IUpdaterAppStateUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStateUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStateUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("028FEB84-44BC-4A73-A0CD-603678155CC3")

+    IUpdaterAppStateUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppStateUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppStateUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppStateUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateUserVtbl;

+

+    interface IUpdaterAppStateUser

+    {

+        CONST_VTBL struct IUpdaterAppStateUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStateUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStateUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStateUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStateUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppStateUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppStateUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppStateUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppStateUser_get_appId(This,__MIDL__IUpdaterAppStateUser0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppStateUser0000) ) 

+

+#define IUpdaterAppStateUser_get_version(This,__MIDL__IUpdaterAppStateUser0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppStateUser0001) ) 

+

+#define IUpdaterAppStateUser_get_ap(This,__MIDL__IUpdaterAppStateUser0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppStateUser0002) ) 

+

+#define IUpdaterAppStateUser_get_brandCode(This,__MIDL__IUpdaterAppStateUser0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppStateUser0003) ) 

+

+#define IUpdaterAppStateUser_get_brandPath(This,__MIDL__IUpdaterAppStateUser0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppStateUser0004) ) 

+

+#define IUpdaterAppStateUser_get_ecp(This,__MIDL__IUpdaterAppStateUser0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppStateUser0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStateUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EFE903C0-E820-4136-9FAE-FDCD7F256302")

+    IUpdaterAppStatesCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackVtbl;

+

+    interface IUpdaterAppStatesCallback

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallback_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackUser_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallbackUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallbackUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallbackUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("BCFCF95C-DE48-4F42-B0E9-D50DB407DB53")

+    IUpdaterAppStatesCallbackUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallbackUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallbackUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallbackUser * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackUserVtbl;

+

+    interface IUpdaterAppStatesCallbackUser

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallbackUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallbackUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallbackUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallbackUser_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallbackUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdater_INTERFACE_DEFINED__

+#define __IUpdater_INTERFACE_DEFINED__

+

+/* interface IUpdater */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdater;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("63B8FFB1-5314-48C9-9C57-93EC8BC6184B")

+    IUpdater : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdater * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdater * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdater, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterAppStatesCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterVtbl;

+

+    interface IUpdater

+    {

+        CONST_VTBL struct IUpdaterVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdater_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdater_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdater_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdater_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdater_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdater_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdater_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdater_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdater_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdater_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdater_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdater_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdater_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterUser_INTERFACE_DEFINED__

+#define __IUpdaterUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("02AFCB67-0899-4676-91A9-67D92B3B7918")

+    IUpdaterUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallbackUser *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdaterUser * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterAppStatesCallbackUser *callback);

+        

+        END_INTERFACE

+    } IUpdaterUserVtbl;

+

+    interface IUpdaterUser

+    {

+        CONST_VTBL struct IUpdaterUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterUser_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdaterUser_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdaterUser_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdaterUser_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdaterUser_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterUser_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterUser_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdaterUser_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdaterUser_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdaterUser_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdaterUser_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterUser_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLib_LIBRARY_DEFINED__

+#define __UpdaterLib_LIBRARY_DEFINED__

+

+/* library UpdaterLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLib;

+

+EXTERN_C const CLSID CLSID_UpdaterUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("158428a4-6014-4978-83ba-9fad0dabe791")

+UpdaterUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("415FD747-D79E-42D7-93AC-1BA6E5FD4E93")

+UpdaterSystemClass;

+#endif

+#endif /* __UpdaterLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user.tlb
new file mode 100644
index 0000000..a409b74
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user_i.c
new file mode 100644
index 0000000..4e94278
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user_i.c
@@ -0,0 +1,127 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateState,0x46ACF70B,0xAC13,0x406D,0xB5,0x3B,0xB2,0xC4,0xBF,0x09,0x1F,0xF6);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateStateUser,0xC3485D9F,0xC684,0x4C43,0xB8,0x5B,0xE3,0x39,0xEA,0x39,0x5C,0x29);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatus,0x2FCD14AF,0xB645,0x4351,0x83,0x59,0xE8,0x0A,0x0E,0x20,0x2A,0x0B);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatusUser,0x9AD1A645,0x5A4B,0x4D36,0xBC,0x21,0xF0,0x05,0x94,0x82,0xE6,0xEA);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserver,0x7B416CFD,0x4216,0x4FD6,0xBD,0x83,0x7C,0x58,0x60,0x54,0x67,0x6E);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserverUser,0xB54493A0,0x65B7,0x408C,0xB6,0x50,0x06,0x26,0x5D,0x21,0x82,0xAC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallback,0x8BAB6F84,0xAD67,0x4819,0xB8,0x46,0xCC,0x89,0x08,0x80,0xFD,0x3B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallbackUser,0x34ADC89D,0x552B,0x4102,0x8A,0xE5,0xD6,0x13,0xA6,0x91,0x33,0x5B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppState,0xA22AFC54,0x2DEF,0x4578,0x91,0x87,0xDB,0x3B,0x24,0x38,0x10,0x90);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStateUser,0x028FEB84,0x44BC,0x4A73,0xA0,0xCD,0x60,0x36,0x78,0x15,0x5C,0xC3);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallback,0xEFE903C0,0xE820,0x4136,0x9F,0xAE,0xFD,0xCD,0x7F,0x25,0x63,0x02);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallbackUser,0xBCFCF95C,0xDE48,0x4F42,0xB0,0xE9,0xD5,0x0D,0xB4,0x07,0xDB,0x53);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdater,0x63B8FFB1,0x5314,0x48C9,0x9C,0x57,0x93,0xEC,0x8B,0xC6,0x18,0x4B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterUser,0x02AFCB67,0x0899,0x4676,0x91,0xA9,0x67,0xD9,0x2B,0x3B,0x79,0x18);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLib,0x69464FF0,0xD9EC,0x4037,0xA3,0x5F,0x8A,0xE4,0x35,0x81,0x06,0xCC);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterUserClass,0x158428a4,0x6014,0x4978,0x83,0xba,0x9f,0xad,0x0d,0xab,0xe7,0x91);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterSystemClass,0x415FD747,0xD79E,0x42D7,0x93,0xAC,0x1B,0xA6,0xE5,0xFD,0x4E,0x93);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user_p.c
new file mode 100644
index 0000000..c05f0bd
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_idl_user_p.c
@@ -0,0 +1,4044 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_AMD64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_idl_user.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1199                              

+#define PROC_FORMAT_STRING_SIZE   1921                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_idl_user_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_idl_user_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_idl_user_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_idl_user_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_idl_user_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_idl_user_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_idl_user_MIDL_TYPE_FORMAT_STRING updater_idl_user__MIDL_TypeFormatString;

+extern const updater_idl_user_MIDL_PROC_FORMAT_STRING updater_idl_user__MIDL_ProcFormatString;

+extern const updater_idl_user_MIDL_EXPR_FORMAT_STRING updater_idl_user__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateStateUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateStateUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatusUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatusUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserverUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallbackUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStateUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallbackUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdater_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterUser_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_WIN64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_idl_user_MIDL_PROC_FORMAT_STRING updater_idl_user__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_state */

+

+

+	/* Procedure get_state */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusUser0000 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0000 */

+

+

+	/* Parameter __MIDL__IUpdateStateUser0000 */

+

+

+	/* Parameter __MIDL__IUpdateState0000 */

+

+/* 26 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 28 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 30 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 32 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 34 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 36 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 38 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 40 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 46 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 48 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 50 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 52 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 54 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 56 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusUser0001 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0001 */

+

+

+	/* Parameter __MIDL__IUpdateStateUser0001 */

+

+

+	/* Parameter __MIDL__IUpdateState0001 */

+

+/* 64 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 66 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 68 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 70 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 72 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 74 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersion */

+

+

+	/* Procedure get_nextVersion */

+

+/* 76 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 78 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 82 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 84 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 90 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 92 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 94 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 96 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 98 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 100 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0002 */

+

+

+	/* Parameter __MIDL__IUpdateState0002 */

+

+/* 102 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 104 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 106 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 108 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 110 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 112 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadedBytes */

+

+

+	/* Procedure get_downloadedBytes */

+

+/* 114 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 116 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 122 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 124 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 126 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 128 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 130 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 134 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 136 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 138 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0003 */

+

+

+	/* Parameter __MIDL__IUpdateState0003 */

+

+/* 140 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 142 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 144 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 148 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_totalBytes */

+

+

+	/* Procedure get_totalBytes */

+

+/* 152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 158 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 160 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 166 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 168 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 176 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0004 */

+

+

+	/* Parameter __MIDL__IUpdateState0004 */

+

+/* 178 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 180 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 182 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 184 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 186 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 188 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 190 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 192 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 196 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 198 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 200 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 202 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 204 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 206 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 208 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 210 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 212 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 214 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0005 */

+

+

+	/* Parameter __MIDL__IUpdateState0005 */

+

+/* 216 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 218 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 220 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 222 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 224 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 226 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCategory */

+

+

+	/* Procedure get_errorCategory */

+

+/* 228 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 230 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 234 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 236 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 238 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 240 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 242 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 244 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 246 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 248 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 250 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 252 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0006 */

+

+

+	/* Parameter __MIDL__IUpdateState0006 */

+

+/* 254 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 256 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 258 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 260 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 262 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 264 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 266 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 268 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 272 */	NdrFcShort( 0xa ),	/* 10 */

+/* 274 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 276 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 278 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 280 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 282 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 284 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 288 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 290 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0007 */

+

+

+	/* Parameter __MIDL__IUpdateState0007 */

+

+/* 292 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 294 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 296 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 298 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 300 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 302 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 304 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 306 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 310 */	NdrFcShort( 0xb ),	/* 11 */

+/* 312 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 314 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 316 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 318 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 320 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 326 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 328 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0008 */

+

+

+	/* Parameter __MIDL__IUpdateState0008 */

+

+/* 330 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 332 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 334 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 336 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 338 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 340 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_installerText */

+

+

+	/* Procedure get_installerText */

+

+/* 342 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 344 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 348 */	NdrFcShort( 0xc ),	/* 12 */

+/* 350 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 352 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 354 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 356 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 358 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 360 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 362 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 364 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 366 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0005 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0005 */

+

+

+	/* Parameter __MIDL__IUpdateStateUser0009 */

+

+

+	/* Parameter __MIDL__IUpdateState0009 */

+

+/* 368 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 370 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 372 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 374 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 376 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 378 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerCommandLine */

+

+

+	/* Procedure get_installerCommandLine */

+

+/* 380 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0xd ),	/* 13 */

+/* 388 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 390 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 392 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 394 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 396 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 398 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 400 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 404 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0010 */

+

+

+	/* Parameter __MIDL__IUpdateState0010 */

+

+/* 406 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 408 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 410 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 412 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 414 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 416 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 418 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 420 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 424 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 426 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 430 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 432 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 434 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 436 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 438 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 440 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 442 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter update_state */

+

+/* 444 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 446 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 448 */	NdrFcShort( 0x32 ),	/* Type Offset=50 */

+

+	/* Return value */

+

+/* 450 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 452 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 454 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 456 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 458 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 462 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 464 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 466 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 468 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 470 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 472 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 474 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 480 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter status */

+

+/* 482 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 484 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 486 */	NdrFcShort( 0x44 ),	/* Type Offset=68 */

+

+	/* Return value */

+

+/* 488 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 490 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 492 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 494 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 496 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 500 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 502 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 504 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 506 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 508 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 510 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 512 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 516 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 518 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter update_state */

+

+/* 520 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 522 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 524 */	NdrFcShort( 0x56 ),	/* Type Offset=86 */

+

+	/* Return value */

+

+/* 526 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 528 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 530 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 532 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 534 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 538 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 540 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 542 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 544 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 546 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 548 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 554 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 556 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter status */

+

+/* 558 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 560 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 562 */	NdrFcShort( 0x68 ),	/* Type Offset=104 */

+

+	/* Return value */

+

+/* 564 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 566 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 568 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 570 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 572 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 576 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 578 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 580 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 582 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 584 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 586 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 594 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 596 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 598 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 600 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 602 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 604 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 606 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 608 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 610 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 614 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 616 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 618 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 620 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 622 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 624 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 626 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 630 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0000 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0000 */

+

+/* 634 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 636 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 638 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 640 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 642 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 644 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+/* 646 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 648 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 652 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 654 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 656 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 658 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 660 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 662 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 664 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 666 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 668 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 670 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0001 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0001 */

+

+/* 672 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 674 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 676 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 678 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 680 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 682 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ap */

+

+

+	/* Procedure get_ap */

+

+/* 684 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 686 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 690 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 692 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 694 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 698 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 700 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 702 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 706 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 708 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0002 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0002 */

+

+/* 710 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 712 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 714 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 716 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 718 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 720 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandCode */

+

+

+	/* Procedure get_brandCode */

+

+/* 722 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 724 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 728 */	NdrFcShort( 0xa ),	/* 10 */

+/* 730 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 732 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 734 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 736 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 738 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 740 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 746 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0003 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0003 */

+

+/* 748 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 750 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 752 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 754 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 756 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 758 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandPath */

+

+

+	/* Procedure get_brandPath */

+

+/* 760 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 762 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 766 */	NdrFcShort( 0xb ),	/* 11 */

+/* 768 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 770 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 772 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 774 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 776 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 778 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 784 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0004 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0004 */

+

+/* 786 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 788 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 790 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 792 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 794 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 796 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 798 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 800 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 804 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 806 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 812 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 814 */	0xa,		/* 10 */

+			0x85,		/* Ext Flags:  new corr desc, srv corr check, has big byval param */

+/* 816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 818 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 822 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_states */

+

+

+	/* Parameter app_states */

+

+/* 824 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 826 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 828 */	NdrFcShort( 0x434 ),	/* Type Offset=1076 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 830 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 832 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 834 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetVersion */

+

+

+	/* Procedure GetVersion */

+

+/* 836 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 838 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 842 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 844 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 850 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 852 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 854 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 856 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 858 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 860 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+/* 862 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 864 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 866 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 868 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 870 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 872 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 874 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 876 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 880 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 882 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 884 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 886 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 888 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 890 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 894 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 896 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 898 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 900 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 902 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 904 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+/* 906 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 908 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 910 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 912 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 914 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 918 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 920 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 922 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 924 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 926 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 928 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 930 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 932 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 934 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 936 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 938 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 940 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 942 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 944 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 946 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 948 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 950 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 952 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 954 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 956 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 958 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 960 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 962 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 964 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 966 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 968 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 970 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 972 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter callback */

+

+/* 974 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 976 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 978 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+/* 980 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 982 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 984 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 986 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 988 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 992 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 994 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 996 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 998 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1000 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1002 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1004 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1006 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1008 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1010 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1012 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1014 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1016 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+/* 1018 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1020 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1022 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1024 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1026 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1030 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1032 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1034 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1036 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1038 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1040 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1042 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1044 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1050 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1052 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1054 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1056 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1058 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1060 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1062 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1064 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1066 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1068 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1070 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1072 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1074 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1076 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1078 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1080 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1082 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1086 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1088 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1090 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1092 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1094 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1096 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1104 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1106 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1108 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1110 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1112 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1114 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1116 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1118 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1120 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1122 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1124 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1126 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1128 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1130 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1132 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1134 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1136 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1138 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1140 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1142 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1144 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1148 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1150 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1152 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1154 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1156 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1158 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1164 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1166 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter observer */

+

+/* 1168 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1170 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1172 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1174 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1176 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1178 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1180 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1182 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1186 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1188 */	NdrFcShort( 0x60 ),	/* X64 Stack size/offset = 96 */

+/* 1190 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1192 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1194 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1196 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1198 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1200 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1202 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1204 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1206 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1208 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1210 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1212 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1214 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1216 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1218 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1220 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1222 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1224 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1226 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1228 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1230 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1232 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1234 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1236 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1238 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1240 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter client_install_data */

+

+/* 1242 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1244 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1246 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1248 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1250 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1252 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1254 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1256 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 1258 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1260 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1262 */	NdrFcShort( 0x50 ),	/* X64 Stack size/offset = 80 */

+/* 1264 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1266 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1268 */	NdrFcShort( 0x58 ),	/* X64 Stack size/offset = 88 */

+/* 1270 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CancelInstalls */

+

+

+	/* Procedure CancelInstalls */

+

+/* 1272 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1274 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1278 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1280 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1282 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1284 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1286 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1288 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1290 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1292 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1296 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1298 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1300 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1302 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1304 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1306 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1308 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1310 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1312 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1316 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1318 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1322 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1324 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 1326 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1328 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1332 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1334 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1336 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1338 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1340 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter installer_path */

+

+/* 1342 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1344 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1346 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_args */

+

+/* 1348 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1350 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1352 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data */

+

+/* 1354 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1356 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1358 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_settings */

+

+/* 1360 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1362 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1364 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter observer */

+

+/* 1366 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1368 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1370 */	NdrFcShort( 0x454 ),	/* Type Offset=1108 */

+

+	/* Return value */

+

+/* 1372 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1374 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1376 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1378 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1380 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1384 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1386 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1388 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1390 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1392 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1394 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1396 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1398 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1400 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1402 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1404 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1406 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1408 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 1410 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1412 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1414 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 1416 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1418 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1422 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1424 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1426 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1428 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1430 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1432 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1434 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1436 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1438 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1440 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1442 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1444 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1446 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1448 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1450 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1452 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 1454 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1456 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1460 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1462 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 1464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1466 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1468 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 1470 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1474 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1478 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1480 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1482 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1484 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1486 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1488 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1490 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1492 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1494 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1496 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1498 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1500 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1502 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1504 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1506 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1508 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1510 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1512 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1514 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter callback */

+

+/* 1516 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1518 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1520 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1522 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1524 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1526 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 1528 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1530 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1534 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1536 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1538 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1540 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1542 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1544 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1546 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1554 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1556 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1558 */	NdrFcShort( 0x478 ),	/* Type Offset=1144 */

+

+	/* Return value */

+

+/* 1560 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1562 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1564 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1566 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1568 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1572 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1574 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1576 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1578 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1580 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1582 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1584 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1590 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1592 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1594 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1596 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1598 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1600 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1602 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1604 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1606 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1608 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1610 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1612 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1614 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1616 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1618 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1620 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1622 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1624 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1628 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1630 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1632 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1634 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1636 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1638 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1640 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1644 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1646 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1648 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1650 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1652 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1654 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1656 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1658 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1660 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1662 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1664 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1666 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1668 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1670 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1672 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1674 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1676 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1678 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1680 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1682 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1684 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1686 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1690 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1692 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1694 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1696 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1698 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1700 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1702 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1706 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1708 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter observer */

+

+/* 1710 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1712 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1714 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1716 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1718 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1720 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1722 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1724 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1728 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1730 */	NdrFcShort( 0x60 ),	/* X64 Stack size/offset = 96 */

+/* 1732 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1734 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1736 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1738 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1740 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1746 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1748 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1750 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1752 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_code */

+

+/* 1754 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1756 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1758 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter brand_path */

+

+/* 1760 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1762 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1764 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter tag */

+

+/* 1766 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1768 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1770 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter version */

+

+/* 1772 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1774 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1776 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter existence_checker_path */

+

+/* 1778 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1780 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1782 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter client_install_data */

+

+/* 1784 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1786 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1788 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data_index */

+

+/* 1790 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1792 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1794 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter priority */

+

+/* 1796 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1798 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 1800 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1802 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1804 */	NdrFcShort( 0x50 ),	/* X64 Stack size/offset = 80 */

+/* 1806 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1808 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1810 */	NdrFcShort( 0x58 ),	/* X64 Stack size/offset = 88 */

+/* 1812 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1814 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1816 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1820 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1822 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1826 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1828 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 1830 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1832 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1836 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1838 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1840 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1842 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1844 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter installer_path */

+

+/* 1846 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1848 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1850 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_args */

+

+/* 1852 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1854 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1856 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_data */

+

+/* 1858 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1860 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1862 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter install_settings */

+

+/* 1864 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1866 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1868 */	NdrFcShort( 0x452 ),	/* Type Offset=1106 */

+

+	/* Parameter observer */

+

+/* 1870 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1872 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1874 */	NdrFcShort( 0x48a ),	/* Type Offset=1162 */

+

+	/* Return value */

+

+/* 1876 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1878 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1880 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1882 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1884 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1888 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1890 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1894 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1896 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1898 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1902 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1904 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1906 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1908 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1910 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1912 */	NdrFcShort( 0x49c ),	/* Type Offset=1180 */

+

+	/* Return value */

+

+/* 1914 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1916 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1918 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_idl_user_MIDL_TYPE_FORMAT_STRING updater_idl_user__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/*  4 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/*  6 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  8 */	NdrFcShort( 0x1c ),	/* Offset= 28 (36) */

+/* 10 */	

+			0x13, 0x0,	/* FC_OP */

+/* 12 */	NdrFcShort( 0xe ),	/* Offset= 14 (26) */

+/* 14 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 16 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 18 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 20 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 22 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 24 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 26 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 28 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 30 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (14) */

+/* 32 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 34 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 36 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 42 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0xffde ),	/* Offset= -34 (10) */

+/* 46 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 48 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x46acf70b ),	/* 1185740555 */

+/* 56 */	NdrFcShort( 0xac13 ),	/* -21485 */

+/* 58 */	NdrFcShort( 0x406d ),	/* 16493 */

+/* 60 */	0xb5,		/* 181 */

+			0x3b,		/* 59 */

+/* 62 */	0xb2,		/* 178 */

+			0xc4,		/* 196 */

+/* 64 */	0xbf,		/* 191 */

+			0x9,		/* 9 */

+/* 66 */	0x1f,		/* 31 */

+			0xf6,		/* 246 */

+/* 68 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 70 */	NdrFcLong( 0x2fcd14af ),	/* 801969327 */

+/* 74 */	NdrFcShort( 0xb645 ),	/* -18875 */

+/* 76 */	NdrFcShort( 0x4351 ),	/* 17233 */

+/* 78 */	0x83,		/* 131 */

+			0x59,		/* 89 */

+/* 80 */	0xe8,		/* 232 */

+			0xa,		/* 10 */

+/* 82 */	0xe,		/* 14 */

+			0x20,		/* 32 */

+/* 84 */	0x2a,		/* 42 */

+			0xb,		/* 11 */

+/* 86 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 88 */	NdrFcLong( 0xc3485d9f ),	/* -1018667617 */

+/* 92 */	NdrFcShort( 0xc684 ),	/* -14716 */

+/* 94 */	NdrFcShort( 0x4c43 ),	/* 19523 */

+/* 96 */	0xb8,		/* 184 */

+			0x5b,		/* 91 */

+/* 98 */	0xe3,		/* 227 */

+			0x39,		/* 57 */

+/* 100 */	0xea,		/* 234 */

+			0x39,		/* 57 */

+/* 102 */	0x5c,		/* 92 */

+			0x29,		/* 41 */

+/* 104 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 106 */	NdrFcLong( 0x9ad1a645 ),	/* -1697536443 */

+/* 110 */	NdrFcShort( 0x5a4b ),	/* 23115 */

+/* 112 */	NdrFcShort( 0x4d36 ),	/* 19766 */

+/* 114 */	0xbc,		/* 188 */

+			0x21,		/* 33 */

+/* 116 */	0xf0,		/* 240 */

+			0x5,		/* 5 */

+/* 118 */	0x94,		/* 148 */

+			0x82,		/* 130 */

+/* 120 */	0xe6,		/* 230 */

+			0xea,		/* 234 */

+/* 122 */	

+			0x11, 0x0,	/* FC_RP */

+/* 124 */	NdrFcShort( 0x3b8 ),	/* Offset= 952 (1076) */

+/* 126 */	

+			0x12, 0x0,	/* FC_UP */

+/* 128 */	NdrFcShort( 0x3a0 ),	/* Offset= 928 (1056) */

+/* 130 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 132 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 134 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 136 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 138 */	NdrFcShort( 0x2 ),	/* Offset= 2 (140) */

+/* 140 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 142 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 144 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 148 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 150 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 154 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 156 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 160 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 162 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 166 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 168 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 172 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 174 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 178 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 180 */	NdrFcLong( 0xb ),	/* 11 */

+/* 184 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 186 */	NdrFcLong( 0xa ),	/* 10 */

+/* 190 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 192 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 196 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (428) */

+/* 198 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 202 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 204 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 208 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (434) */

+/* 210 */	NdrFcLong( 0xd ),	/* 13 */

+/* 214 */	NdrFcShort( 0xe0 ),	/* Offset= 224 (438) */

+/* 216 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 220 */	NdrFcShort( 0xec ),	/* Offset= 236 (456) */

+/* 222 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 226 */	NdrFcShort( 0xf8 ),	/* Offset= 248 (474) */

+/* 228 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 232 */	NdrFcShort( 0x2ee ),	/* Offset= 750 (982) */

+/* 234 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 238 */	NdrFcShort( 0x2e8 ),	/* Offset= 744 (982) */

+/* 240 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 244 */	NdrFcShort( 0x2e6 ),	/* Offset= 742 (986) */

+/* 246 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 250 */	NdrFcShort( 0x2e4 ),	/* Offset= 740 (990) */

+/* 252 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 256 */	NdrFcShort( 0x2e2 ),	/* Offset= 738 (994) */

+/* 258 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 262 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (998) */

+/* 264 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 268 */	NdrFcShort( 0x2de ),	/* Offset= 734 (1002) */

+/* 270 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 274 */	NdrFcShort( 0x2dc ),	/* Offset= 732 (1006) */

+/* 276 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 280 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (990) */

+/* 282 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 286 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (994) */

+/* 288 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 292 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (1010) */

+/* 294 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 298 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (1006) */

+/* 300 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 304 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (1014) */

+/* 306 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 310 */	NdrFcShort( 0x2c4 ),	/* Offset= 708 (1018) */

+/* 312 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 316 */	NdrFcShort( 0x2c2 ),	/* Offset= 706 (1022) */

+/* 318 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 322 */	NdrFcShort( 0x2c0 ),	/* Offset= 704 (1026) */

+/* 324 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 328 */	NdrFcShort( 0x2be ),	/* Offset= 702 (1030) */

+/* 330 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 334 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 336 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 340 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 342 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 346 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 348 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 352 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 354 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 358 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 360 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 364 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 366 */	NdrFcLong( 0xe ),	/* 14 */

+/* 370 */	NdrFcShort( 0x29c ),	/* Offset= 668 (1038) */

+/* 372 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 376 */	NdrFcShort( 0x2a0 ),	/* Offset= 672 (1048) */

+/* 378 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 382 */	NdrFcShort( 0x29e ),	/* Offset= 670 (1052) */

+/* 384 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 388 */	NdrFcShort( 0x25a ),	/* Offset= 602 (990) */

+/* 390 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 394 */	NdrFcShort( 0x258 ),	/* Offset= 600 (994) */

+/* 396 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 400 */	NdrFcShort( 0x256 ),	/* Offset= 598 (998) */

+/* 402 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 406 */	NdrFcShort( 0x24c ),	/* Offset= 588 (994) */

+/* 408 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 412 */	NdrFcShort( 0x246 ),	/* Offset= 582 (994) */

+/* 414 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 418 */	NdrFcShort( 0x0 ),	/* Offset= 0 (418) */

+/* 420 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 424 */	NdrFcShort( 0x0 ),	/* Offset= 0 (424) */

+/* 426 */	NdrFcShort( 0xffff ),	/* Offset= -1 (425) */

+/* 428 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 430 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 432 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 434 */	

+			0x12, 0x0,	/* FC_UP */

+/* 436 */	NdrFcShort( 0xfe66 ),	/* Offset= -410 (26) */

+/* 438 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 440 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 448 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 450 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 452 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 454 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 456 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 458 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 462 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 464 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 466 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 468 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 470 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 472 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 474 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 476 */	NdrFcShort( 0x2 ),	/* Offset= 2 (478) */

+/* 478 */	

+			0x12, 0x0,	/* FC_UP */

+/* 480 */	NdrFcShort( 0x1e4 ),	/* Offset= 484 (964) */

+/* 482 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x89,		/* 137 */

+/* 484 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 486 */	NdrFcShort( 0xa ),	/* 10 */

+/* 488 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 492 */	NdrFcShort( 0x50 ),	/* Offset= 80 (572) */

+/* 494 */	NdrFcLong( 0xd ),	/* 13 */

+/* 498 */	NdrFcShort( 0x70 ),	/* Offset= 112 (610) */

+/* 500 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 504 */	NdrFcShort( 0x90 ),	/* Offset= 144 (648) */

+/* 506 */	NdrFcLong( 0xc ),	/* 12 */

+/* 510 */	NdrFcShort( 0xb0 ),	/* Offset= 176 (686) */

+/* 512 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 516 */	NdrFcShort( 0x102 ),	/* Offset= 258 (774) */

+/* 518 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 522 */	NdrFcShort( 0x11e ),	/* Offset= 286 (808) */

+/* 524 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 528 */	NdrFcShort( 0x138 ),	/* Offset= 312 (840) */

+/* 530 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 534 */	NdrFcShort( 0x14e ),	/* Offset= 334 (868) */

+/* 536 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 540 */	NdrFcShort( 0x164 ),	/* Offset= 356 (896) */

+/* 542 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 546 */	NdrFcShort( 0x17a ),	/* Offset= 378 (924) */

+/* 548 */	NdrFcShort( 0xffff ),	/* Offset= -1 (547) */

+/* 550 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 554 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 556 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 558 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 560 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 564 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 566 */	

+			0x12, 0x0,	/* FC_UP */

+/* 568 */	NdrFcShort( 0xfde2 ),	/* Offset= -542 (26) */

+/* 570 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 572 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 574 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 576 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 578 */	NdrFcShort( 0x6 ),	/* Offset= 6 (584) */

+/* 580 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 582 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 584 */	

+			0x11, 0x0,	/* FC_RP */

+/* 586 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (550) */

+/* 588 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 590 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 592 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 596 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 598 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 602 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 604 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 606 */	NdrFcShort( 0xff58 ),	/* Offset= -168 (438) */

+/* 608 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 610 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 612 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 616 */	NdrFcShort( 0x6 ),	/* Offset= 6 (622) */

+/* 618 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 620 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 622 */	

+			0x11, 0x0,	/* FC_RP */

+/* 624 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (588) */

+/* 626 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 630 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 634 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 636 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 640 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 642 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 644 */	NdrFcShort( 0xff44 ),	/* Offset= -188 (456) */

+/* 646 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 648 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 650 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 652 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 654 */	NdrFcShort( 0x6 ),	/* Offset= 6 (660) */

+/* 656 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 658 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 660 */	

+			0x11, 0x0,	/* FC_RP */

+/* 662 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (626) */

+/* 664 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 666 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 668 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 672 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 674 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 678 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 680 */	

+			0x12, 0x0,	/* FC_UP */

+/* 682 */	NdrFcShort( 0x176 ),	/* Offset= 374 (1056) */

+/* 684 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 686 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 688 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 690 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 692 */	NdrFcShort( 0x6 ),	/* Offset= 6 (698) */

+/* 694 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 696 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 698 */	

+			0x11, 0x0,	/* FC_RP */

+/* 700 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (664) */

+/* 702 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 704 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 714 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 716 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 718 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 720 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 722 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 724 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 726 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 728 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 730 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 732 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 734 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 736 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 738 */	NdrFcShort( 0xa ),	/* Offset= 10 (748) */

+/* 740 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 742 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 744 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (702) */

+/* 746 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 748 */	

+			0x12, 0x0,	/* FC_UP */

+/* 750 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (720) */

+/* 752 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 756 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 762 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 766 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 768 */	

+			0x12, 0x0,	/* FC_UP */

+/* 770 */	NdrFcShort( 0xffda ),	/* Offset= -38 (732) */

+/* 772 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 774 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 776 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 778 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 780 */	NdrFcShort( 0x6 ),	/* Offset= 6 (786) */

+/* 782 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 784 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 786 */	

+			0x11, 0x0,	/* FC_RP */

+/* 788 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (752) */

+/* 790 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 792 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 794 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 796 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 798 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 800 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 802 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 804 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (790) */

+			0x5b,		/* FC_END */

+/* 808 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 810 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 812 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 814 */	NdrFcShort( 0xa ),	/* Offset= 10 (824) */

+/* 816 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 818 */	0x36,		/* FC_POINTER */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 820 */	0x0,		/* 0 */

+			NdrFcShort( 0xffe7 ),	/* Offset= -25 (796) */

+			0x5b,		/* FC_END */

+/* 824 */	

+			0x11, 0x0,	/* FC_RP */

+/* 826 */	NdrFcShort( 0xff12 ),	/* Offset= -238 (588) */

+/* 828 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 830 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 832 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 836 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 838 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 840 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 842 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 844 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 846 */	NdrFcShort( 0x6 ),	/* Offset= 6 (852) */

+/* 848 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 850 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 852 */	

+			0x12, 0x0,	/* FC_UP */

+/* 854 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (828) */

+/* 856 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 858 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 860 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 864 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 866 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 868 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 870 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 872 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 874 */	NdrFcShort( 0x6 ),	/* Offset= 6 (880) */

+/* 876 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 878 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 880 */	

+			0x12, 0x0,	/* FC_UP */

+/* 882 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (856) */

+/* 884 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 886 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 888 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 890 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 892 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 894 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 896 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 898 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 902 */	NdrFcShort( 0x6 ),	/* Offset= 6 (908) */

+/* 904 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 906 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 908 */	

+			0x12, 0x0,	/* FC_UP */

+/* 910 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (884) */

+/* 912 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 914 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 916 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 918 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 920 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 922 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 924 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 926 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 930 */	NdrFcShort( 0x6 ),	/* Offset= 6 (936) */

+/* 932 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 934 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 936 */	

+			0x12, 0x0,	/* FC_UP */

+/* 938 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (912) */

+/* 940 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 942 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 944 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 946 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 948 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 950 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 952 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 954 */	NdrFcShort( 0xffc8 ),	/* -56 */

+/* 956 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 958 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 960 */	NdrFcShort( 0xffec ),	/* Offset= -20 (940) */

+/* 962 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 964 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 966 */	NdrFcShort( 0x38 ),	/* 56 */

+/* 968 */	NdrFcShort( 0xffec ),	/* Offset= -20 (948) */

+/* 970 */	NdrFcShort( 0x0 ),	/* Offset= 0 (970) */

+/* 972 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 974 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 976 */	0x40,		/* FC_STRUCTPAD4 */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 978 */	0x0,		/* 0 */

+			NdrFcShort( 0xfe0f ),	/* Offset= -497 (482) */

+			0x5b,		/* FC_END */

+/* 982 */	

+			0x12, 0x0,	/* FC_UP */

+/* 984 */	NdrFcShort( 0xff04 ),	/* Offset= -252 (732) */

+/* 986 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 988 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 990 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 992 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 994 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 996 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 998 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1000 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1004 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 1006 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1008 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1010 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1012 */	NdrFcShort( 0xfdb8 ),	/* Offset= -584 (428) */

+/* 1014 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1016 */	NdrFcShort( 0xfdba ),	/* Offset= -582 (434) */

+/* 1018 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1020 */	NdrFcShort( 0xfdba ),	/* Offset= -582 (438) */

+/* 1022 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1024 */	NdrFcShort( 0xfdc8 ),	/* Offset= -568 (456) */

+/* 1026 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1028 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (474) */

+/* 1030 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1032 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1034) */

+/* 1034 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1036 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1056) */

+/* 1038 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 1040 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1042 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 1044 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 1046 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 1048 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1050 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1038) */

+/* 1052 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1054 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1056 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1058 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1060 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1062 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1062) */

+/* 1064 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1066 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1068 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1070 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1072 */	NdrFcShort( 0xfc52 ),	/* Offset= -942 (130) */

+/* 1074 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1076 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1078 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1080 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1082 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1084 */	NdrFcShort( 0xfc42 ),	/* Offset= -958 (126) */

+/* 1086 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1088 */	NdrFcLong( 0x8bab6f84 ),	/* -1951699068 */

+/* 1092 */	NdrFcShort( 0xad67 ),	/* -21145 */

+/* 1094 */	NdrFcShort( 0x4819 ),	/* 18457 */

+/* 1096 */	0xb8,		/* 184 */

+			0x46,		/* 70 */

+/* 1098 */	0xcc,		/* 204 */

+			0x89,		/* 137 */

+/* 1100 */	0x8,		/* 8 */

+			0x80,		/* 128 */

+/* 1102 */	0xfd,		/* 253 */

+			0x3b,		/* 59 */

+/* 1104 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1106 */	

+			0x25,		/* FC_C_WSTRING */

+			0x5c,		/* FC_PAD */

+/* 1108 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1110 */	NdrFcLong( 0x7b416cfd ),	/* 2067885309 */

+/* 1114 */	NdrFcShort( 0x4216 ),	/* 16918 */

+/* 1116 */	NdrFcShort( 0x4fd6 ),	/* 20438 */

+/* 1118 */	0xbd,		/* 189 */

+			0x83,		/* 131 */

+/* 1120 */	0x7c,		/* 124 */

+			0x58,		/* 88 */

+/* 1122 */	0x60,		/* 96 */

+			0x54,		/* 84 */

+/* 1124 */	0x67,		/* 103 */

+			0x6e,		/* 110 */

+/* 1126 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1128 */	NdrFcLong( 0xefe903c0 ),	/* -269941824 */

+/* 1132 */	NdrFcShort( 0xe820 ),	/* -6112 */

+/* 1134 */	NdrFcShort( 0x4136 ),	/* 16694 */

+/* 1136 */	0x9f,		/* 159 */

+			0xae,		/* 174 */

+/* 1138 */	0xfd,		/* 253 */

+			0xcd,		/* 205 */

+/* 1140 */	0x7f,		/* 127 */

+			0x25,		/* 37 */

+/* 1142 */	0x63,		/* 99 */

+			0x2,		/* 2 */

+/* 1144 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1146 */	NdrFcLong( 0x34adc89d ),	/* 883804317 */

+/* 1150 */	NdrFcShort( 0x552b ),	/* 21803 */

+/* 1152 */	NdrFcShort( 0x4102 ),	/* 16642 */

+/* 1154 */	0x8a,		/* 138 */

+			0xe5,		/* 229 */

+/* 1156 */	0xd6,		/* 214 */

+			0x13,		/* 19 */

+/* 1158 */	0xa6,		/* 166 */

+			0x91,		/* 145 */

+/* 1160 */	0x33,		/* 51 */

+			0x5b,		/* 91 */

+/* 1162 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1164 */	NdrFcLong( 0xb54493a0 ),	/* -1253796960 */

+/* 1168 */	NdrFcShort( 0x65b7 ),	/* 26039 */

+/* 1170 */	NdrFcShort( 0x408c ),	/* 16524 */

+/* 1172 */	0xb6,		/* 182 */

+			0x50,		/* 80 */

+/* 1174 */	0x6,		/* 6 */

+			0x26,		/* 38 */

+/* 1176 */	0x5d,		/* 93 */

+			0x21,		/* 33 */

+/* 1178 */	0x82,		/* 130 */

+			0xac,		/* 172 */

+/* 1180 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1182 */	NdrFcLong( 0xbcfcf95c ),	/* -1124271780 */

+/* 1186 */	NdrFcShort( 0xde48 ),	/* -8632 */

+/* 1188 */	NdrFcShort( 0x4f42 ),	/* 20290 */

+/* 1190 */	0xb0,		/* 176 */

+			0xe9,		/* 233 */

+/* 1192 */	0xd5,		/* 213 */

+			0xd,		/* 13 */

+/* 1194 */	0xb4,		/* 180 */

+			0x7,		/* 7 */

+/* 1196 */	0xdb,		/* 219 */

+			0x53,		/* 83 */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdateState, ver. 0.0,

+   GUID={0x46ACF70B,0xAC13,0x406D,{0xB5,0x3B,0xB2,0xC4,0xBF,0x09,0x1F,0xF6}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateState_FormatStringOffsetTable[] =

+    {

+    0,

+    38,

+    76,

+    114,

+    152,

+    190,

+    228,

+    266,

+    304,

+    342,

+    380

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateProxyVtbl = 

+{

+    &IUpdateState_ProxyInfo,

+    &IID_IUpdateState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateStubVtbl =

+{

+    &IID_IUpdateState,

+    &IUpdateState_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdateStateUser, ver. 0.0,

+   GUID={0xC3485D9F,0xC684,0x4C43,{0xB8,0x5B,0xE3,0x39,0xEA,0x39,0x5C,0x29}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateStateUser_FormatStringOffsetTable[] =

+    {

+    0,

+    38,

+    76,

+    114,

+    152,

+    190,

+    228,

+    266,

+    304,

+    342,

+    380

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateStateUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateStateUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateUserProxyVtbl = 

+{

+    &IUpdateStateUser_ProxyInfo,

+    &IID_IUpdateStateUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateUserStubVtbl =

+{

+    &IID_IUpdateStateUser,

+    &IUpdateStateUser_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatus, ver. 0.0,

+   GUID={0x2FCD14AF,0xB645,0x4351,{0x83,0x59,0xE8,0x0A,0x0E,0x20,0x2A,0x0B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatus_FormatStringOffsetTable[] =

+    {

+    0,

+    38

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusProxyVtbl = 

+{

+    &ICompleteStatus_ProxyInfo,

+    &IID_ICompleteStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusStubVtbl =

+{

+    &IID_ICompleteStatus,

+    &ICompleteStatus_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatusUser, ver. 0.0,

+   GUID={0x9AD1A645,0x5A4B,0x4D36,{0xBC,0x21,0xF0,0x05,0x94,0x82,0xE6,0xEA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatusUser_FormatStringOffsetTable[] =

+    {

+    0,

+    38

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatusUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatusUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusUserProxyVtbl = 

+{

+    &ICompleteStatusUser_ProxyInfo,

+    &IID_ICompleteStatusUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusUser::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusUser::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusUserStubVtbl =

+{

+    &IID_ICompleteStatusUser,

+    &ICompleteStatusUser_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserver, ver. 0.0,

+   GUID={0x7B416CFD,0x4216,0x4FD6,{0xBD,0x83,0x7C,0x58,0x60,0x54,0x67,0x6E}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserver_FormatStringOffsetTable[] =

+    {

+    418,

+    456

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverProxyVtbl = 

+{

+    &IUpdaterObserver_ProxyInfo,

+    &IID_IUpdaterObserver,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverStubVtbl =

+{

+    &IID_IUpdaterObserver,

+    &IUpdaterObserver_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserverUser, ver. 0.0,

+   GUID={0xB54493A0,0x65B7,0x408C,{0xB6,0x50,0x06,0x26,0x5D,0x21,0x82,0xAC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserverUser_FormatStringOffsetTable[] =

+    {

+    494,

+    532

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserverUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverUserProxyVtbl = 

+{

+    &IUpdaterObserverUser_ProxyInfo,

+    &IID_IUpdaterObserverUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverUser::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverUser::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverUserStubVtbl =

+{

+    &IID_IUpdaterObserverUser,

+    &IUpdaterObserverUser_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallback, ver. 0.0,

+   GUID={0x8BAB6F84,0xAD67,0x4819,{0xB8,0x46,0xCC,0x89,0x08,0x80,0xFD,0x3B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallback_FormatStringOffsetTable[] =

+    {

+    570

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackProxyVtbl = 

+{

+    &IUpdaterCallback_ProxyInfo,

+    &IID_IUpdaterCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackStubVtbl =

+{

+    &IID_IUpdaterCallback,

+    &IUpdaterCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallbackUser, ver. 0.0,

+   GUID={0x34ADC89D,0x552B,0x4102,{0x8A,0xE5,0xD6,0x13,0xA6,0x91,0x33,0x5B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallbackUser_FormatStringOffsetTable[] =

+    {

+    570

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallbackUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackUserProxyVtbl = 

+{

+    &IUpdaterCallbackUser_ProxyInfo,

+    &IID_IUpdaterCallbackUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallbackUser::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackUserStubVtbl =

+{

+    &IID_IUpdaterCallbackUser,

+    &IUpdaterCallbackUser_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterAppState, ver. 0.0,

+   GUID={0xA22AFC54,0x2DEF,0x4578,{0x91,0x87,0xDB,0x3B,0x24,0x38,0x10,0x90}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    608,

+    646,

+    684,

+    722,

+    760,

+    342

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateProxyVtbl = 

+{

+    &IUpdaterAppState_ProxyInfo,

+    &IID_IUpdaterAppState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateStubVtbl =

+{

+    &IID_IUpdaterAppState,

+    &IUpdaterAppState_ServerInfo,

+    13,

+    &IUpdaterAppState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStateUser, ver. 0.0,

+   GUID={0x028FEB84,0x44BC,0x4A73,{0xA0,0xCD,0x60,0x36,0x78,0x15,0x5C,0xC3}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStateUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    608,

+    646,

+    684,

+    722,

+    760,

+    342

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStateUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateUserProxyVtbl = 

+{

+    &IUpdaterAppStateUser_ProxyInfo,

+    &IID_IUpdaterAppStateUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppStateUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateUserStubVtbl =

+{

+    &IID_IUpdaterAppStateUser,

+    &IUpdaterAppStateUser_ServerInfo,

+    13,

+    &IUpdaterAppStateUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallback, ver. 0.0,

+   GUID={0xEFE903C0,0xE820,0x4136,{0x9F,0xAE,0xFD,0xCD,0x7F,0x25,0x63,0x02}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallback_FormatStringOffsetTable[] =

+    {

+    798

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackProxyVtbl = 

+{

+    &IUpdaterAppStatesCallback_ProxyInfo,

+    &IID_IUpdaterAppStatesCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallback,

+    &IUpdaterAppStatesCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallbackUser, ver. 0.0,

+   GUID={0xBCFCF95C,0xDE48,0x4F42,{0xB0,0xE9,0xD5,0x0D,0xB4,0x07,0xDB,0x53}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallbackUser_FormatStringOffsetTable[] =

+    {

+    798

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallbackUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackUserProxyVtbl = 

+{

+    &IUpdaterAppStatesCallbackUser_ProxyInfo,

+    &IID_IUpdaterAppStatesCallbackUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallbackUser::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackUserStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallbackUser,

+    &IUpdaterAppStatesCallbackUser_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdater, ver. 0.0,

+   GUID={0x63B8FFB1,0x5314,0x48C9,{0x9C,0x57,0x93,0xEC,0x8B,0xC6,0x18,0x4B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdater_FormatStringOffsetTable[] =

+    {

+    836,

+    874,

+    912,

+    986,

+    1024,

+    1080,

+    1142,

+    1180,

+    1272,

+    1310,

+    1378

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdater_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterProxyVtbl = 

+{

+    &IUpdater_ProxyInfo,

+    &IID_IUpdater,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterStubVtbl =

+{

+    &IID_IUpdater,

+    &IUpdater_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterUser, ver. 0.0,

+   GUID={0x02AFCB67,0x0899,0x4676,{0x91,0xA9,0x67,0xD9,0x2B,0x3B,0x79,0x18}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterUser_FormatStringOffsetTable[] =

+    {

+    836,

+    1416,

+    1454,

+    1528,

+    1566,

+    1622,

+    1684,

+    1722,

+    1272,

+    1814,

+    1882

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterUserProxyVtbl = 

+{

+    &IUpdaterUser_ProxyInfo,

+    &IID_IUpdaterUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterUserStubVtbl =

+{

+    &IID_IUpdaterUser,

+    &IUpdaterUser_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_idl_user__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_idl_user_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdateStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdateStateUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_idl_user_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdateStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdateStateUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_idl_user_InterfaceNamesList[] = 

+{

+    "IUpdateState",

+    "ICompleteStatusUser",

+    "IUpdaterAppState",

+    "IUpdaterAppStatesCallbackUser",

+    "IUpdaterUser",

+    "IUpdaterCallback",

+    "IUpdaterAppStateUser",

+    "IUpdaterCallbackUser",

+    "IUpdateStateUser",

+    "IUpdaterObserverUser",

+    "ICompleteStatus",

+    "IUpdater",

+    "IUpdaterAppStatesCallback",

+    "IUpdaterObserver",

+    0

+};

+

+const IID *  const _updater_idl_user_BaseIIDList[] = 

+{

+    0,

+    0,

+    &IID_IDispatch,

+    0,

+    0,

+    0,

+    &IID_IDispatch,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0

+};

+

+

+#define _updater_idl_user_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_idl_user, pIID, n)

+

+int __stdcall _updater_idl_user_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_idl_user, 14, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_user, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_user, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_user, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_idl_user, 14, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_idl_user_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_idl_user_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_idl_user_StubVtblList,

+    (const PCInterfaceName * ) & _updater_idl_user_InterfaceNamesList,

+    (const IID ** ) & _updater_idl_user_BaseIIDList,

+    & _updater_idl_user_IID_Lookup, 

+    14,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_AMD64)*/

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system.dlldata.c
new file mode 100644
index 0000000..c75be62
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system.dlldata.c
@@ -0,0 +1,37 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_internal_idl_system )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_internal_idl_system ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system.h
new file mode 100644
index 0000000..3a536b2
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system.h
@@ -0,0 +1,528 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_internal_idl_system_h__

+#define __updater_internal_idl_system_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdaterInternalCallback_FWD_DEFINED__

+#define __IUpdaterInternalCallback_FWD_DEFINED__

+typedef interface IUpdaterInternalCallback IUpdaterInternalCallback;

+

+#endif 	/* __IUpdaterInternalCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+#define __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackSystem IUpdaterInternalCallbackSystem;

+

+#endif 	/* __IUpdaterInternalCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_FWD_DEFINED__

+#define __IUpdaterInternal_FWD_DEFINED__

+typedef interface IUpdaterInternal IUpdaterInternal;

+

+#endif 	/* __IUpdaterInternal_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalSystem_FWD_DEFINED__

+#define __IUpdaterInternalSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalSystem IUpdaterInternalSystem;

+

+#endif 	/* __IUpdaterInternalSystem_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalUserClass_FWD_DEFINED__

+#define __UpdaterInternalUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalUserClass UpdaterInternalUserClass;

+#else

+typedef struct UpdaterInternalUserClass UpdaterInternalUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalSystemClass_FWD_DEFINED__

+#define __UpdaterInternalSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#else

+typedef struct UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+#define __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackSystem IUpdaterInternalCallbackSystem;

+

+#endif 	/* __IUpdaterInternalCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalSystem_FWD_DEFINED__

+#define __IUpdaterInternalSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalSystem IUpdaterInternalSystem;

+

+#endif 	/* __IUpdaterInternalSystem_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdaterInternalCallback_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("D272C794-2ACE-4584-B993-3B90C622BE65")

+    IUpdaterInternalCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackVtbl;

+

+    interface IUpdaterInternalCallback

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackSystem_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallbackSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallbackSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallbackSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7E806C73-B2A4-4BC5-BDAD-2249D87F67FC")

+    IUpdaterInternalCallbackSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallbackSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallbackSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallbackSystem * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackSystemVtbl;

+

+    interface IUpdaterInternalCallbackSystem

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallbackSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallbackSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallbackSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallbackSystem_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallbackSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_INTERFACE_DEFINED__

+#define __IUpdaterInternal_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternal */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternal;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("526DA036-9BD3-4697-865A-DA12D37DFFCA")

+    IUpdaterInternal : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternal * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalVtbl;

+

+    interface IUpdaterInternal

+    {

+        CONST_VTBL struct IUpdaterInternalVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternal_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternal_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternal_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternal_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternal_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternal_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalSystem_INTERFACE_DEFINED__

+#define __IUpdaterInternalSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("E690EB97-6E46-4361-AF8F-90A4F5496475")

+    IUpdaterInternalSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallbackSystem *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalSystem * This,

+            /* [in] */ IUpdaterInternalCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalSystem, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternalSystem * This,

+            /* [in] */ IUpdaterInternalCallbackSystem *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalSystemVtbl;

+

+    interface IUpdaterInternalSystem

+    {

+        CONST_VTBL struct IUpdaterInternalSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalSystem_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternalSystem_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalSystem_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterInternalLib_LIBRARY_DEFINED__

+#define __UpdaterInternalLib_LIBRARY_DEFINED__

+

+/* library UpdaterInternalLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterInternalLib;

+

+EXTERN_C const CLSID CLSID_UpdaterInternalUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("1F87FE2F-D6A9-4711-9D11-8187705F8457")

+UpdaterInternalUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterInternalSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("4556BA55-517E-4F03-8016-331A43C269C9")

+UpdaterInternalSystemClass;

+#endif

+#endif /* __UpdaterInternalLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system.tlb
new file mode 100644
index 0000000..181d6db
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system_i.c
new file mode 100644
index 0000000..bc44f04
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system_i.c
@@ -0,0 +1,97 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallback,0xD272C794,0x2ACE,0x4584,0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallbackSystem,0x7E806C73,0xB2A4,0x4BC5,0xBD,0xAD,0x22,0x49,0xD8,0x7F,0x67,0xFC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternal,0x526DA036,0x9BD3,0x4697,0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalSystem,0xE690EB97,0x6E46,0x4361,0xAF,0x8F,0x90,0xA4,0xF5,0x49,0x64,0x75);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterInternalLib,0xC6CE92DB,0x72CA,0x42EF,0x8C,0x98,0x6E,0xE9,0x24,0x81,0xB3,0xC9);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalUserClass,0x1F87FE2F,0xD6A9,0x4711,0x9D,0x11,0x81,0x87,0x70,0x5F,0x84,0x57);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalSystemClass,0x4556BA55,0x517E,0x4F03,0x80,0x16,0x33,0x1A,0x43,0xC2,0x69,0xC9);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system_p.c
new file mode 100644
index 0000000..7694eea
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_system_p.c
@@ -0,0 +1,704 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_AMD64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_internal_idl_system.h"

+

+#define TYPE_FORMAT_STRING_SIZE   39                                

+#define PROC_FORMAT_STRING_SIZE   191                               

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   0            

+

+typedef struct _updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_system_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_system_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_system_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_system_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING updater_internal_idl_system__MIDL_TypeFormatString;

+extern const updater_internal_idl_system_MIDL_PROC_FORMAT_STRING updater_internal_idl_system__MIDL_ProcFormatString;

+extern const updater_internal_idl_system_MIDL_EXPR_FORMAT_STRING updater_internal_idl_system__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallbackSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalSystem_ProxyInfo;

+

+

+

+#if !defined(__RPC_WIN64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_internal_idl_system_MIDL_PROC_FORMAT_STRING updater_internal_idl_system__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 26 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 28 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 30 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 32 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 34 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 36 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 38 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 40 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 46 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 48 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 50 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 52 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 54 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 64 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 66 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 68 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 70 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 72 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 74 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 76 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 78 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 82 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 84 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 90 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 92 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 96 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 98 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 100 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 102 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 104 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 106 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 108 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 110 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 112 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 114 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 116 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 122 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 124 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 126 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 128 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 130 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 134 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 136 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 138 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 140 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 142 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 144 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 148 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 158 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 160 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 166 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 168 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 176 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 178 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 180 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 182 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 184 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 186 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 188 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING updater_internal_idl_system__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/*  4 */	NdrFcLong( 0xd272c794 ),	/* -764229740 */

+/*  8 */	NdrFcShort( 0x2ace ),	/* 10958 */

+/* 10 */	NdrFcShort( 0x4584 ),	/* 17796 */

+/* 12 */	0xb9,		/* 185 */

+			0x93,		/* 147 */

+/* 14 */	0x3b,		/* 59 */

+			0x90,		/* 144 */

+/* 16 */	0xc6,		/* 198 */

+			0x22,		/* 34 */

+/* 18 */	0xbe,		/* 190 */

+			0x65,		/* 101 */

+/* 20 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 22 */	NdrFcLong( 0x7e806c73 ),	/* 2122345587 */

+/* 26 */	NdrFcShort( 0xb2a4 ),	/* -19804 */

+/* 28 */	NdrFcShort( 0x4bc5 ),	/* 19397 */

+/* 30 */	0xbd,		/* 189 */

+			0xad,		/* 173 */

+/* 32 */	0x22,		/* 34 */

+			0x49,		/* 73 */

+/* 34 */	0xd8,		/* 216 */

+			0x7f,		/* 127 */

+/* 36 */	0x67,		/* 103 */

+			0xfc,		/* 252 */

+

+			0x0

+        }

+    };

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterInternalCallback, ver. 0.0,

+   GUID={0xD272C794,0x2ACE,0x4584,{0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallback_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackProxyVtbl = 

+{

+    &IUpdaterInternalCallback_ProxyInfo,

+    &IID_IUpdaterInternalCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackStubVtbl =

+{

+    &IID_IUpdaterInternalCallback,

+    &IUpdaterInternalCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalCallbackSystem, ver. 0.0,

+   GUID={0x7E806C73,0xB2A4,0x4BC5,{0xBD,0xAD,0x22,0x49,0xD8,0x7F,0x67,0xFC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallbackSystem_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallbackSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackSystemProxyVtbl = 

+{

+    &IUpdaterInternalCallbackSystem_ProxyInfo,

+    &IID_IUpdaterInternalCallbackSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallbackSystem::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackSystemStubVtbl =

+{

+    &IID_IUpdaterInternalCallbackSystem,

+    &IUpdaterInternalCallbackSystem_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternal, ver. 0.0,

+   GUID={0x526DA036,0x9BD3,0x4697,{0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternal_FormatStringOffsetTable[] =

+    {

+    38,

+    76

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalProxyVtbl = 

+{

+    &IUpdaterInternal_ProxyInfo,

+    &IID_IUpdaterInternal,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalStubVtbl =

+{

+    &IID_IUpdaterInternal,

+    &IUpdaterInternal_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalSystem, ver. 0.0,

+   GUID={0xE690EB97,0x6E46,0x4361,{0xAF,0x8F,0x90,0xA4,0xF5,0x49,0x64,0x75}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalSystem_FormatStringOffsetTable[] =

+    {

+    114,

+    152

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalSystemProxyVtbl = 

+{

+    &IUpdaterInternalSystem_ProxyInfo,

+    &IID_IUpdaterInternalSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalSystem::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalSystem::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalSystemStubVtbl =

+{

+    &IID_IUpdaterInternalSystem,

+    &IUpdaterInternalSystem_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_internal_idl_system__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    0,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_internal_idl_system_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalSystemProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_internal_idl_system_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalSystemStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_internal_idl_system_InterfaceNamesList[] = 

+{

+    "IUpdaterInternal",

+    "IUpdaterInternalCallbackSystem",

+    "IUpdaterInternalCallback",

+    "IUpdaterInternalSystem",

+    0

+};

+

+

+#define _updater_internal_idl_system_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_internal_idl_system, pIID, n)

+

+int __stdcall _updater_internal_idl_system_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_internal_idl_system, 4, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_internal_idl_system, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_internal_idl_system, 4, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_internal_idl_system_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_internal_idl_system_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_internal_idl_system_StubVtblList,

+    (const PCInterfaceName * ) & _updater_internal_idl_system_InterfaceNamesList,

+    0, /* no delegation */

+    & _updater_internal_idl_system_IID_Lookup, 

+    4,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_AMD64)*/

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user.dlldata.c
new file mode 100644
index 0000000..44053a66
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user.dlldata.c
@@ -0,0 +1,37 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_internal_idl_user )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_internal_idl_user ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user.h
new file mode 100644
index 0000000..126ea60
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user.h
@@ -0,0 +1,528 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_internal_idl_user_h__

+#define __updater_internal_idl_user_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdaterInternalCallback_FWD_DEFINED__

+#define __IUpdaterInternalCallback_FWD_DEFINED__

+typedef interface IUpdaterInternalCallback IUpdaterInternalCallback;

+

+#endif 	/* __IUpdaterInternalCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackUser_FWD_DEFINED__

+#define __IUpdaterInternalCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackUser IUpdaterInternalCallbackUser;

+

+#endif 	/* __IUpdaterInternalCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_FWD_DEFINED__

+#define __IUpdaterInternal_FWD_DEFINED__

+typedef interface IUpdaterInternal IUpdaterInternal;

+

+#endif 	/* __IUpdaterInternal_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalUser_FWD_DEFINED__

+#define __IUpdaterInternalUser_FWD_DEFINED__

+typedef interface IUpdaterInternalUser IUpdaterInternalUser;

+

+#endif 	/* __IUpdaterInternalUser_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalUserClass_FWD_DEFINED__

+#define __UpdaterInternalUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalUserClass UpdaterInternalUserClass;

+#else

+typedef struct UpdaterInternalUserClass UpdaterInternalUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalSystemClass_FWD_DEFINED__

+#define __UpdaterInternalSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#else

+typedef struct UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackUser_FWD_DEFINED__

+#define __IUpdaterInternalCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackUser IUpdaterInternalCallbackUser;

+

+#endif 	/* __IUpdaterInternalCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalUser_FWD_DEFINED__

+#define __IUpdaterInternalUser_FWD_DEFINED__

+typedef interface IUpdaterInternalUser IUpdaterInternalUser;

+

+#endif 	/* __IUpdaterInternalUser_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdaterInternalCallback_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("D272C794-2ACE-4584-B993-3B90C622BE65")

+    IUpdaterInternalCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackVtbl;

+

+    interface IUpdaterInternalCallback

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackUser_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallbackUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallbackUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallbackUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("618D9B82-9F51-4490-AF24-BB80489E1537")

+    IUpdaterInternalCallbackUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallbackUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallbackUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallbackUser * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackUserVtbl;

+

+    interface IUpdaterInternalCallbackUser

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallbackUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallbackUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallbackUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallbackUser_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallbackUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_INTERFACE_DEFINED__

+#define __IUpdaterInternal_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternal */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternal;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("526DA036-9BD3-4697-865A-DA12D37DFFCA")

+    IUpdaterInternal : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternal * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalVtbl;

+

+    interface IUpdaterInternal

+    {

+        CONST_VTBL struct IUpdaterInternalVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternal_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternal_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternal_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternal_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternal_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternal_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalUser_INTERFACE_DEFINED__

+#define __IUpdaterInternalUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("C82AFDA3-CA76-46EE-96E9-474717BFA7BA")

+    IUpdaterInternalUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallbackUser *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalUser * This,

+            /* [in] */ IUpdaterInternalCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalUser, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternalUser * This,

+            /* [in] */ IUpdaterInternalCallbackUser *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalUserVtbl;

+

+    interface IUpdaterInternalUser

+    {

+        CONST_VTBL struct IUpdaterInternalUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalUser_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternalUser_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalUser_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterInternalLib_LIBRARY_DEFINED__

+#define __UpdaterInternalLib_LIBRARY_DEFINED__

+

+/* library UpdaterInternalLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterInternalLib;

+

+EXTERN_C const CLSID CLSID_UpdaterInternalUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("1F87FE2F-D6A9-4711-9D11-8187705F8457")

+UpdaterInternalUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterInternalSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("4556BA55-517E-4F03-8016-331A43C269C9")

+UpdaterInternalSystemClass;

+#endif

+#endif /* __UpdaterInternalLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user.tlb
new file mode 100644
index 0000000..27b483b
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user_i.c
new file mode 100644
index 0000000..ac5d6d7
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user_i.c
@@ -0,0 +1,97 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallback,0xD272C794,0x2ACE,0x4584,0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallbackUser,0x618D9B82,0x9F51,0x4490,0xAF,0x24,0xBB,0x80,0x48,0x9E,0x15,0x37);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternal,0x526DA036,0x9BD3,0x4697,0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalUser,0xC82AFDA3,0xCA76,0x46EE,0x96,0xE9,0x47,0x47,0x17,0xBF,0xA7,0xBA);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterInternalLib,0xC6CE92DB,0x72CA,0x42EF,0x8C,0x98,0x6E,0xE9,0x24,0x81,0xB3,0xC9);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalUserClass,0x1F87FE2F,0xD6A9,0x4711,0x9D,0x11,0x81,0x87,0x70,0x5F,0x84,0x57);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalSystemClass,0x4556BA55,0x517E,0x4F03,0x80,0x16,0x33,0x1A,0x43,0xC2,0x69,0xC9);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user_p.c
new file mode 100644
index 0000000..ecb9cff
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_internal_idl_user_p.c
@@ -0,0 +1,704 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_AMD64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_internal_idl_user.h"

+

+#define TYPE_FORMAT_STRING_SIZE   39                                

+#define PROC_FORMAT_STRING_SIZE   191                               

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   0            

+

+typedef struct _updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_user_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_user_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_user_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_user_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING updater_internal_idl_user__MIDL_TypeFormatString;

+extern const updater_internal_idl_user_MIDL_PROC_FORMAT_STRING updater_internal_idl_user__MIDL_ProcFormatString;

+extern const updater_internal_idl_user_MIDL_EXPR_FORMAT_STRING updater_internal_idl_user__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallbackUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalUser_ProxyInfo;

+

+

+

+#if !defined(__RPC_WIN64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_internal_idl_user_MIDL_PROC_FORMAT_STRING updater_internal_idl_user__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 26 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 28 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 30 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 32 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 34 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 36 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 38 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 40 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 46 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 48 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 50 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 52 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 54 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 64 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 66 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 68 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 70 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 72 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 74 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 76 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 78 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 82 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 84 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 90 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 92 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 96 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 98 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 100 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 102 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 104 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 106 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 108 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 110 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 112 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 114 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 116 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 122 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 124 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 126 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 128 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 130 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 134 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 136 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 138 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 140 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 142 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 144 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 148 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 158 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 160 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 166 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 168 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 176 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 178 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 180 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 182 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 184 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 186 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 188 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING updater_internal_idl_user__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/*  4 */	NdrFcLong( 0xd272c794 ),	/* -764229740 */

+/*  8 */	NdrFcShort( 0x2ace ),	/* 10958 */

+/* 10 */	NdrFcShort( 0x4584 ),	/* 17796 */

+/* 12 */	0xb9,		/* 185 */

+			0x93,		/* 147 */

+/* 14 */	0x3b,		/* 59 */

+			0x90,		/* 144 */

+/* 16 */	0xc6,		/* 198 */

+			0x22,		/* 34 */

+/* 18 */	0xbe,		/* 190 */

+			0x65,		/* 101 */

+/* 20 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 22 */	NdrFcLong( 0x618d9b82 ),	/* 1636670338 */

+/* 26 */	NdrFcShort( 0x9f51 ),	/* -24751 */

+/* 28 */	NdrFcShort( 0x4490 ),	/* 17552 */

+/* 30 */	0xaf,		/* 175 */

+			0x24,		/* 36 */

+/* 32 */	0xbb,		/* 187 */

+			0x80,		/* 128 */

+/* 34 */	0x48,		/* 72 */

+			0x9e,		/* 158 */

+/* 36 */	0x15,		/* 21 */

+			0x37,		/* 55 */

+

+			0x0

+        }

+    };

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterInternalCallback, ver. 0.0,

+   GUID={0xD272C794,0x2ACE,0x4584,{0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallback_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackProxyVtbl = 

+{

+    &IUpdaterInternalCallback_ProxyInfo,

+    &IID_IUpdaterInternalCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackStubVtbl =

+{

+    &IID_IUpdaterInternalCallback,

+    &IUpdaterInternalCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalCallbackUser, ver. 0.0,

+   GUID={0x618D9B82,0x9F51,0x4490,{0xAF,0x24,0xBB,0x80,0x48,0x9E,0x15,0x37}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallbackUser_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallbackUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackUserProxyVtbl = 

+{

+    &IUpdaterInternalCallbackUser_ProxyInfo,

+    &IID_IUpdaterInternalCallbackUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallbackUser::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackUserStubVtbl =

+{

+    &IID_IUpdaterInternalCallbackUser,

+    &IUpdaterInternalCallbackUser_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternal, ver. 0.0,

+   GUID={0x526DA036,0x9BD3,0x4697,{0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternal_FormatStringOffsetTable[] =

+    {

+    38,

+    76

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalProxyVtbl = 

+{

+    &IUpdaterInternal_ProxyInfo,

+    &IID_IUpdaterInternal,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalStubVtbl =

+{

+    &IID_IUpdaterInternal,

+    &IUpdaterInternal_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalUser, ver. 0.0,

+   GUID={0xC82AFDA3,0xCA76,0x46EE,{0x96,0xE9,0x47,0x47,0x17,0xBF,0xA7,0xBA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalUser_FormatStringOffsetTable[] =

+    {

+    114,

+    152

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalUserProxyVtbl = 

+{

+    &IUpdaterInternalUser_ProxyInfo,

+    &IID_IUpdaterInternalUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalUser::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalUser::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalUserStubVtbl =

+{

+    &IID_IUpdaterInternalUser,

+    &IUpdaterInternalUser_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_internal_idl_user__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    0,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_internal_idl_user_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalUserProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_internal_idl_user_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalUserStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_internal_idl_user_InterfaceNamesList[] = 

+{

+    "IUpdaterInternal",

+    "IUpdaterInternalCallbackUser",

+    "IUpdaterInternalCallback",

+    "IUpdaterInternalUser",

+    0

+};

+

+

+#define _updater_internal_idl_user_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_internal_idl_user, pIID, n)

+

+int __stdcall _updater_internal_idl_user_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_internal_idl_user, 4, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_internal_idl_user, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_internal_idl_user, 4, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_internal_idl_user_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_internal_idl_user_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_internal_idl_user_StubVtblList,

+    (const PCInterfaceName * ) & _updater_internal_idl_user_InterfaceNamesList,

+    0, /* no delegation */

+    & _updater_internal_idl_user_IID_Lookup, 

+    4,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_AMD64)*/

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system.dlldata.c
new file mode 100644
index 0000000..40028e6c
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_legacy_idl_system )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_legacy_idl_system ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system.h
new file mode 100644
index 0000000..c19d82df
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system.h
@@ -0,0 +1,5519 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_legacy_idl_system_h__

+#define __updater_legacy_idl_system_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebSystem_FWD_DEFINED__

+#define __IAppVersionWebSystem_FWD_DEFINED__

+typedef interface IAppVersionWebSystem IAppVersionWebSystem;

+

+#endif 	/* __IAppVersionWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateSystem_FWD_DEFINED__

+#define __ICurrentStateSystem_FWD_DEFINED__

+typedef interface ICurrentStateSystem ICurrentStateSystem;

+

+#endif 	/* __ICurrentStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebSystem_FWD_DEFINED__

+#define __IGoogleUpdate3WebSystem_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebSystem IGoogleUpdate3WebSystem;

+

+#endif 	/* __IGoogleUpdate3WebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebSystem_FWD_DEFINED__

+#define __IAppBundleWebSystem_FWD_DEFINED__

+typedef interface IAppBundleWebSystem IAppBundleWebSystem;

+

+#endif 	/* __IAppBundleWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebSystem_FWD_DEFINED__

+#define __IAppWebSystem_FWD_DEFINED__

+typedef interface IAppWebSystem IAppWebSystem;

+

+#endif 	/* __IAppWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebSystem_FWD_DEFINED__

+#define __IAppCommandWebSystem_FWD_DEFINED__

+typedef interface IAppCommandWebSystem IAppCommandWebSystem;

+

+#endif 	/* __IAppCommandWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusSystem_FWD_DEFINED__

+#define __IPolicyStatusSystem_FWD_DEFINED__

+typedef interface IPolicyStatusSystem IPolicyStatusSystem;

+

+#endif 	/* __IPolicyStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueSystem_FWD_DEFINED__

+#define __IPolicyStatusValueSystem_FWD_DEFINED__

+typedef interface IPolicyStatusValueSystem IPolicyStatusValueSystem;

+

+#endif 	/* __IPolicyStatusValueSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2System_FWD_DEFINED__

+#define __IPolicyStatus2System_FWD_DEFINED__

+typedef interface IPolicyStatus2System IPolicyStatus2System;

+

+#endif 	/* __IPolicyStatus2System_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3System_FWD_DEFINED__

+#define __IPolicyStatus3System_FWD_DEFINED__

+typedef interface IPolicyStatus3System IPolicyStatus3System;

+

+#endif 	/* __IPolicyStatus3System_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher_FWD_DEFINED__

+#define __IProcessLauncher_FWD_DEFINED__

+typedef interface IProcessLauncher IProcessLauncher;

+

+#endif 	/* __IProcessLauncher_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher2_FWD_DEFINED__

+#define __IProcessLauncher2_FWD_DEFINED__

+typedef interface IProcessLauncher2 IProcessLauncher2;

+

+#endif 	/* __IProcessLauncher2_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebUserClass_FWD_DEFINED__

+#define __GoogleUpdate3WebUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#else

+typedef struct GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebUserClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+#define __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#else

+typedef struct GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+#define __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#else

+typedef struct GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebServiceClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusUserClass_FWD_DEFINED__

+#define __PolicyStatusUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusUserClass PolicyStatusUserClass;

+#else

+typedef struct PolicyStatusUserClass PolicyStatusUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusUserClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusSystemClass_FWD_DEFINED__

+#define __PolicyStatusSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusSystemClass PolicyStatusSystemClass;

+#else

+typedef struct PolicyStatusSystemClass PolicyStatusSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __ProcessLauncherClass_FWD_DEFINED__

+#define __ProcessLauncherClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class ProcessLauncherClass ProcessLauncherClass;

+#else

+typedef struct ProcessLauncherClass ProcessLauncherClass;

+#endif /* __cplusplus */

+

+#endif 	/* __ProcessLauncherClass_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebSystem_FWD_DEFINED__

+#define __IAppVersionWebSystem_FWD_DEFINED__

+typedef interface IAppVersionWebSystem IAppVersionWebSystem;

+

+#endif 	/* __IAppVersionWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateSystem_FWD_DEFINED__

+#define __ICurrentStateSystem_FWD_DEFINED__

+typedef interface ICurrentStateSystem ICurrentStateSystem;

+

+#endif 	/* __ICurrentStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebSystem_FWD_DEFINED__

+#define __IGoogleUpdate3WebSystem_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebSystem IGoogleUpdate3WebSystem;

+

+#endif 	/* __IGoogleUpdate3WebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebSystem_FWD_DEFINED__

+#define __IAppBundleWebSystem_FWD_DEFINED__

+typedef interface IAppBundleWebSystem IAppBundleWebSystem;

+

+#endif 	/* __IAppBundleWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebSystem_FWD_DEFINED__

+#define __IAppWebSystem_FWD_DEFINED__

+typedef interface IAppWebSystem IAppWebSystem;

+

+#endif 	/* __IAppWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebSystem_FWD_DEFINED__

+#define __IAppCommandWebSystem_FWD_DEFINED__

+typedef interface IAppCommandWebSystem IAppCommandWebSystem;

+

+#endif 	/* __IAppCommandWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusSystem_FWD_DEFINED__

+#define __IPolicyStatusSystem_FWD_DEFINED__

+typedef interface IPolicyStatusSystem IPolicyStatusSystem;

+

+#endif 	/* __IPolicyStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueSystem_FWD_DEFINED__

+#define __IPolicyStatusValueSystem_FWD_DEFINED__

+typedef interface IPolicyStatusValueSystem IPolicyStatusValueSystem;

+

+#endif 	/* __IPolicyStatusValueSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2System_FWD_DEFINED__

+#define __IPolicyStatus2System_FWD_DEFINED__

+typedef interface IPolicyStatus2System IPolicyStatus2System;

+

+#endif 	/* __IPolicyStatus2System_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3System_FWD_DEFINED__

+#define __IPolicyStatus3System_FWD_DEFINED__

+typedef interface IPolicyStatus3System IPolicyStatus3System;

+

+#endif 	/* __IPolicyStatus3System_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher_FWD_DEFINED__

+#define __IProcessLauncher_FWD_DEFINED__

+typedef interface IProcessLauncher IProcessLauncher;

+

+#endif 	/* __IProcessLauncher_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher2_FWD_DEFINED__

+#define __IProcessLauncher2_FWD_DEFINED__

+typedef interface IProcessLauncher2 IProcessLauncher2;

+

+#endif 	/* __IProcessLauncher2_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+/* interface __MIDL_itf_updater_legacy_idl_system_0000_0000 */

+/* [local] */ 

+

+typedef 

+enum CurrentState

+    {

+        STATE_INIT	= 1,

+        STATE_WAITING_TO_CHECK_FOR_UPDATE	= 2,

+        STATE_CHECKING_FOR_UPDATE	= 3,

+        STATE_UPDATE_AVAILABLE	= 4,

+        STATE_WAITING_TO_DOWNLOAD	= 5,

+        STATE_RETRYING_DOWNLOAD	= 6,

+        STATE_DOWNLOADING	= 7,

+        STATE_DOWNLOAD_COMPLETE	= 8,

+        STATE_EXTRACTING	= 9,

+        STATE_APPLYING_DIFFERENTIAL_PATCH	= 10,

+        STATE_READY_TO_INSTALL	= 11,

+        STATE_WAITING_TO_INSTALL	= 12,

+        STATE_INSTALLING	= 13,

+        STATE_INSTALL_COMPLETE	= 14,

+        STATE_PAUSED	= 15,

+        STATE_NO_UPDATE	= 16,

+        STATE_ERROR	= 17

+    } 	CurrentState;

+

+

+enum AppCommandStatus

+    {

+        COMMAND_STATUS_INIT	= 1,

+        COMMAND_STATUS_RUNNING	= 2,

+        COMMAND_STATUS_ERROR	= 3,

+        COMMAND_STATUS_COMPLETE	= 4

+    } ;

+

+

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_system_0000_0000_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_system_0000_0000_v0_0_s_ifspec;

+

+#ifndef __IAppVersionWeb_INTERFACE_DEFINED__

+#define __IAppVersionWeb_INTERFACE_DEFINED__

+

+/* interface IAppVersionWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AA10D17D-7A09-48AC-B1E4-F124937E3D26")

+    IAppVersionWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWeb * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebVtbl;

+

+    interface IAppVersionWeb

+    {

+        CONST_VTBL struct IAppVersionWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWeb_get_version(This,__MIDL__IAppVersionWeb0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWeb0000) ) 

+

+#define IAppVersionWeb_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWeb_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppVersionWebSystem_INTERFACE_DEFINED__

+#define __IAppVersionWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppVersionWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("9367601E-C100-4702-8755-808D6BB385D8")

+    IAppVersionWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebSystem, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebSystem, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWebSystem * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebSystem, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebSystemVtbl;

+

+    interface IAppVersionWebSystem

+    {

+        CONST_VTBL struct IAppVersionWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWebSystem_get_version(This,__MIDL__IAppVersionWebSystem0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWebSystem0000) ) 

+

+#define IAppVersionWebSystem_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWebSystem_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentState_INTERFACE_DEFINED__

+#define __ICurrentState_INTERFACE_DEFINED__

+

+/* interface ICurrentState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A643508B-B1E3-4457-9769-32C953BD1D57")

+    ICurrentState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentState * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015);

+        

+        END_INTERFACE

+    } ICurrentStateVtbl;

+

+    interface ICurrentState

+    {

+        CONST_VTBL struct ICurrentStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentState_get_stateValue(This,__MIDL__ICurrentState0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentState0000) ) 

+

+#define ICurrentState_get_availableVersion(This,__MIDL__ICurrentState0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentState0001) ) 

+

+#define ICurrentState_get_bytesDownloaded(This,__MIDL__ICurrentState0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentState0002) ) 

+

+#define ICurrentState_get_totalBytesToDownload(This,__MIDL__ICurrentState0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentState0003) ) 

+

+#define ICurrentState_get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004) ) 

+

+#define ICurrentState_get_nextRetryTime(This,__MIDL__ICurrentState0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentState0005) ) 

+

+#define ICurrentState_get_installProgress(This,__MIDL__ICurrentState0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentState0006) ) 

+

+#define ICurrentState_get_installTimeRemainingMs(This,__MIDL__ICurrentState0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentState0007) ) 

+

+#define ICurrentState_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentState_get_errorCode(This,__MIDL__ICurrentState0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentState0008) ) 

+

+#define ICurrentState_get_extraCode1(This,__MIDL__ICurrentState0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentState0009) ) 

+

+#define ICurrentState_get_completionMessage(This,__MIDL__ICurrentState0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentState0010) ) 

+

+#define ICurrentState_get_installerResultCode(This,__MIDL__ICurrentState0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentState0011) ) 

+

+#define ICurrentState_get_installerResultExtraCode1(This,__MIDL__ICurrentState0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentState0012) ) 

+

+#define ICurrentState_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013) ) 

+

+#define ICurrentState_get_postInstallUrl(This,__MIDL__ICurrentState0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentState0014) ) 

+

+#define ICurrentState_get_postInstallAction(This,__MIDL__ICurrentState0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentState0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentState_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentStateSystem_INTERFACE_DEFINED__

+#define __ICurrentStateSystem_INTERFACE_DEFINED__

+

+/* interface ICurrentStateSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentStateSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("71CBC6BB-CA4B-4B5A-83C0-FC95F9CA6A30")

+    ICurrentStateSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateSystem0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentStateSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentStateSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentStateSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateSystem0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0015);

+        

+        END_INTERFACE

+    } ICurrentStateSystemVtbl;

+

+    interface ICurrentStateSystem

+    {

+        CONST_VTBL struct ICurrentStateSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentStateSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentStateSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentStateSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentStateSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentStateSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentStateSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentStateSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentStateSystem_get_stateValue(This,__MIDL__ICurrentStateSystem0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentStateSystem0000) ) 

+

+#define ICurrentStateSystem_get_availableVersion(This,__MIDL__ICurrentStateSystem0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentStateSystem0001) ) 

+

+#define ICurrentStateSystem_get_bytesDownloaded(This,__MIDL__ICurrentStateSystem0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentStateSystem0002) ) 

+

+#define ICurrentStateSystem_get_totalBytesToDownload(This,__MIDL__ICurrentStateSystem0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentStateSystem0003) ) 

+

+#define ICurrentStateSystem_get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateSystem0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateSystem0004) ) 

+

+#define ICurrentStateSystem_get_nextRetryTime(This,__MIDL__ICurrentStateSystem0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentStateSystem0005) ) 

+

+#define ICurrentStateSystem_get_installProgress(This,__MIDL__ICurrentStateSystem0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentStateSystem0006) ) 

+

+#define ICurrentStateSystem_get_installTimeRemainingMs(This,__MIDL__ICurrentStateSystem0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentStateSystem0007) ) 

+

+#define ICurrentStateSystem_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentStateSystem_get_errorCode(This,__MIDL__ICurrentStateSystem0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentStateSystem0008) ) 

+

+#define ICurrentStateSystem_get_extraCode1(This,__MIDL__ICurrentStateSystem0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentStateSystem0009) ) 

+

+#define ICurrentStateSystem_get_completionMessage(This,__MIDL__ICurrentStateSystem0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentStateSystem0010) ) 

+

+#define ICurrentStateSystem_get_installerResultCode(This,__MIDL__ICurrentStateSystem0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentStateSystem0011) ) 

+

+#define ICurrentStateSystem_get_installerResultExtraCode1(This,__MIDL__ICurrentStateSystem0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentStateSystem0012) ) 

+

+#define ICurrentStateSystem_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateSystem0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateSystem0013) ) 

+

+#define ICurrentStateSystem_get_postInstallUrl(This,__MIDL__ICurrentStateSystem0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentStateSystem0014) ) 

+

+#define ICurrentStateSystem_get_postInstallAction(This,__MIDL__ICurrentStateSystem0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentStateSystem0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentStateSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_INTERFACE_DEFINED__

+#define __IGoogleUpdate3Web_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3Web */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3Web;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A35E1C5E-0A18-4FF1-8C4D-DD8ED07B0BD0")

+    IGoogleUpdate3Web : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3Web * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3Web * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3Web, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3Web * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebVtbl;

+

+    interface IGoogleUpdate3Web

+    {

+        CONST_VTBL struct IGoogleUpdate3WebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3Web_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3Web_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3Web_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3Web_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3Web_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3Web_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3Web_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3Web_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3Web_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebSystem_INTERFACE_DEFINED__

+#define __IGoogleUpdate3WebSystem_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3WebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3WebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AE5F8C9D-B94D-4367-A422-D1DC4E913A52")

+    IGoogleUpdate3WebSystem : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3WebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3WebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3WebSystem, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebSystemVtbl;

+

+    interface IGoogleUpdate3WebSystem

+    {

+        CONST_VTBL struct IGoogleUpdate3WebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3WebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3WebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3WebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3WebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3WebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3WebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3WebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3WebSystem_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3WebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_INTERFACE_DEFINED__

+#define __IAppBundleWeb_INTERFACE_DEFINED__

+

+/* interface IAppBundleWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("0569DBB9-BAA0-48D5-8543-0F3BE30A1648")

+    IAppBundleWeb : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWeb * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWeb * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebVtbl;

+

+    interface IAppBundleWeb

+    {

+        CONST_VTBL struct IAppBundleWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWeb_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWeb_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWeb_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWeb_get_displayLanguage(This,__MIDL__IAppBundleWeb0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWeb0000) ) 

+

+#define IAppBundleWeb_put_displayLanguage(This,__MIDL__IAppBundleWeb0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWeb0001) ) 

+

+#define IAppBundleWeb_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWeb_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWeb_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWeb_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWeb_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWeb_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWeb_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWeb_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWeb_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWeb_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWebSystem_INTERFACE_DEFINED__

+#define __IAppBundleWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppBundleWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("BFFD766D-A2DD-436E-89FA-BF05BC5B5958")

+    IAppBundleWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebSystem0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWebSystem0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWebSystem0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWebSystem * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWebSystem * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebSystemVtbl;

+

+    interface IAppBundleWebSystem

+    {

+        CONST_VTBL struct IAppBundleWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWebSystem_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWebSystem_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWebSystem_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWebSystem_get_displayLanguage(This,__MIDL__IAppBundleWebSystem0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWebSystem0000) ) 

+

+#define IAppBundleWebSystem_put_displayLanguage(This,__MIDL__IAppBundleWebSystem0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWebSystem0001) ) 

+

+#define IAppBundleWebSystem_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWebSystem_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWebSystem_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWebSystem_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWebSystem_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWebSystem_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWebSystem_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWebSystem_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWebSystem_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWebSystem_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWebSystem_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWebSystem_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWeb_INTERFACE_DEFINED__

+#define __IAppWeb_INTERFACE_DEFINED__

+

+/* interface IAppWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("63D941DE-F67B-4E15-8A90-27881DA9EF4A")

+    IAppWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWeb0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWeb * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [in] */ BSTR __MIDL__IAppWeb0002);

+        

+        END_INTERFACE

+    } IAppWebVtbl;

+

+    interface IAppWeb

+    {

+        CONST_VTBL struct IAppWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWeb_get_appId(This,__MIDL__IAppWeb0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWeb0000) ) 

+

+#define IAppWeb_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWeb_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWeb_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWeb_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWeb_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWeb_get_serverInstallDataIndex(This,__MIDL__IAppWeb0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWeb0001) ) 

+

+#define IAppWeb_put_serverInstallDataIndex(This,__MIDL__IAppWeb0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWeb0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWebSystem_INTERFACE_DEFINED__

+#define __IAppWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("540B227A-F442-45D5-BA52-298A05BAF1A8")

+    IAppWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWebSystem0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWebSystem * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0001);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWebSystem * This,

+            /* [in] */ BSTR __MIDL__IAppWebSystem0002);

+        

+        END_INTERFACE

+    } IAppWebSystemVtbl;

+

+    interface IAppWebSystem

+    {

+        CONST_VTBL struct IAppWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWebSystem_get_appId(This,__MIDL__IAppWebSystem0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWebSystem0000) ) 

+

+#define IAppWebSystem_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWebSystem_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWebSystem_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWebSystem_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWebSystem_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWebSystem_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWebSystem_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWebSystem_get_serverInstallDataIndex(This,__MIDL__IAppWebSystem0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWebSystem0001) ) 

+

+#define IAppWebSystem_put_serverInstallDataIndex(This,__MIDL__IAppWebSystem0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWebSystem0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_INTERFACE_DEFINED__

+#define __IAppCommandWeb_INTERFACE_DEFINED__

+

+/* interface IAppCommandWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("10A2D03F-8BC7-49DB-A21E-A7D4429D2759")

+    IAppCommandWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWeb * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebVtbl;

+

+    interface IAppCommandWeb

+    {

+        CONST_VTBL struct IAppCommandWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWeb_get_status(This,__MIDL__IAppCommandWeb0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWeb0000) ) 

+

+#define IAppCommandWeb_get_exitCode(This,__MIDL__IAppCommandWeb0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWeb0001) ) 

+

+#define IAppCommandWeb_get_output(This,__MIDL__IAppCommandWeb0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWeb0002) ) 

+

+#define IAppCommandWeb_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWebSystem_INTERFACE_DEFINED__

+#define __IAppCommandWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppCommandWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("C6E2C5D5-86FA-4A64-9D08-8C9B644F0E49")

+    IAppCommandWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebSystem0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWebSystem * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWebSystem * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebSystem0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebSystem0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWebSystem * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebSystemVtbl;

+

+    interface IAppCommandWebSystem

+    {

+        CONST_VTBL struct IAppCommandWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWebSystem_get_status(This,__MIDL__IAppCommandWebSystem0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWebSystem0000) ) 

+

+#define IAppCommandWebSystem_get_exitCode(This,__MIDL__IAppCommandWebSystem0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWebSystem0001) ) 

+

+#define IAppCommandWebSystem_get_output(This,__MIDL__IAppCommandWebSystem0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWebSystem0002) ) 

+

+#define IAppCommandWebSystem_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_INTERFACE_DEFINED__

+#define __IPolicyStatus_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("6A54FE75-EDC8-404E-A41B-4278C0557151")

+    IPolicyStatus : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusVtbl;

+

+    interface IPolicyStatus

+    {

+        CONST_VTBL struct IPolicyStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatus_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatus_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatus_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatus_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatus_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusSystem_INTERFACE_DEFINED__

+#define __IPolicyStatusSystem_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("F3964464-A939-44D3-9244-36BD2E3630B8")

+    IPolicyStatusSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatusSystem * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusSystemVtbl;

+

+    interface IPolicyStatusSystem

+    {

+        CONST_VTBL struct IPolicyStatusSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusSystem_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatusSystem_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatusSystem_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatusSystem_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatusSystem_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatusSystem_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatusSystem_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatusSystem_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatusSystem_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_INTERFACE_DEFINED__

+#define __IPolicyStatusValue_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValue */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValue;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2A7D2AE7-8EEE-45B4-B17F-31DAAC82CCBB")

+    IPolicyStatusValue : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValue * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValue * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValue * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueVtbl;

+

+    interface IPolicyStatusValue

+    {

+        CONST_VTBL struct IPolicyStatusValueVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValue_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValue_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValue_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValue_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValue_get_source(This,__MIDL__IPolicyStatusValue0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValue0000) ) 

+

+#define IPolicyStatusValue_get_value(This,__MIDL__IPolicyStatusValue0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValue0001) ) 

+

+#define IPolicyStatusValue_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValue_get_conflictSource(This,__MIDL__IPolicyStatusValue0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValue0002) ) 

+

+#define IPolicyStatusValue_get_conflictValue(This,__MIDL__IPolicyStatusValue0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValue0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValue_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueSystem_INTERFACE_DEFINED__

+#define __IPolicyStatusValueSystem_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValueSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValueSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("CC2CCD05-119C-44E1-852D-6DCC2DFB72EC")

+    IPolicyStatusValueSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValueSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValueSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValueSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValueSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValueSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValueSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValueSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueSystemVtbl;

+

+    interface IPolicyStatusValueSystem

+    {

+        CONST_VTBL struct IPolicyStatusValueSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValueSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValueSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValueSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValueSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValueSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValueSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValueSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValueSystem_get_source(This,__MIDL__IPolicyStatusValueSystem0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValueSystem0000) ) 

+

+#define IPolicyStatusValueSystem_get_value(This,__MIDL__IPolicyStatusValueSystem0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValueSystem0001) ) 

+

+#define IPolicyStatusValueSystem_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValueSystem_get_conflictSource(This,__MIDL__IPolicyStatusValueSystem0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValueSystem0002) ) 

+

+#define IPolicyStatusValueSystem_get_conflictValue(This,__MIDL__IPolicyStatusValueSystem0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValueSystem0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValueSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_INTERFACE_DEFINED__

+#define __IPolicyStatus2_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("06A6AA1E-2680-4076-A7CD-6053722CF454")

+    IPolicyStatus2 : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2Vtbl;

+

+    interface IPolicyStatus2

+    {

+        CONST_VTBL struct IPolicyStatus2Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2System_INTERFACE_DEFINED__

+#define __IPolicyStatus2System_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2System */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2System;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("F4A0362A-3702-48B8-9896-7D8013D03AB2")

+    IPolicyStatus2System : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValueSystem **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2SystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2System * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2System * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2System * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2System * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2System * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2System * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2System * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2System * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2System * This,

+            /* [out] */ IPolicyStatusValueSystem **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2SystemVtbl;

+

+    interface IPolicyStatus2System

+    {

+        CONST_VTBL struct IPolicyStatus2SystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2System_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2System_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2System_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2System_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2System_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2System_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2System_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2System_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2System_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2System_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2System_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2System_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2System_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2System_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2System_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2System_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2System_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2System_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2System_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2System_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_INTERFACE_DEFINED__

+#define __IPolicyStatus3_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("029BD175-5035-4E2A-8724-C9D47F4FAEA3")

+    IPolicyStatus3 : public IPolicyStatus2

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3 * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3Vtbl;

+

+    interface IPolicyStatus3

+    {

+        CONST_VTBL struct IPolicyStatus3Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3System_INTERFACE_DEFINED__

+#define __IPolicyStatus3System_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3System */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3System;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7B26CC23-B2B8-441B-AA9C-8B551ABB611B")

+    IPolicyStatus3System : public IPolicyStatus2System

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3SystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3System * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3System * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3System * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3System * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3System * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3System * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3System * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3System * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3System * This,

+            /* [out] */ IPolicyStatusValueSystem **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3System, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3System * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3SystemVtbl;

+

+    interface IPolicyStatus3System

+    {

+        CONST_VTBL struct IPolicyStatus3SystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3System_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3System_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3System_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3System_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3System_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3System_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3System_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3System_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3System_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3System_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3System_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3System_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3System_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3System_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3System_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3System_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3System_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3System_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3System_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3System_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3System_INTERFACE_DEFINED__ */

+

+

+#ifndef __IProcessLauncher_INTERFACE_DEFINED__

+#define __IProcessLauncher_INTERFACE_DEFINED__

+

+/* interface IProcessLauncher */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IProcessLauncher;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("4779D540-F6A3-455F-A929-7ADFE85B6F09")

+    IProcessLauncher : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE LaunchCmdLine( 

+            /* [string][in] */ const WCHAR *cmd_line) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE LaunchBrowser( 

+            /* [in] */ DWORD browser_type,

+            /* [string][in] */ const WCHAR *url) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE LaunchCmdElevated( 

+            /* [string][in] */ const WCHAR *app_guid,

+            /* [string][in] */ const WCHAR *cmd_id,

+            /* [in] */ DWORD caller_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IProcessLauncherVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IProcessLauncher * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IProcessLauncher * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IProcessLauncher * This);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdLine)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdLine )( 

+            IProcessLauncher * This,

+            /* [string][in] */ const WCHAR *cmd_line);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchBrowser)

+        HRESULT ( STDMETHODCALLTYPE *LaunchBrowser )( 

+            IProcessLauncher * This,

+            /* [in] */ DWORD browser_type,

+            /* [string][in] */ const WCHAR *url);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdElevated)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdElevated )( 

+            IProcessLauncher * This,

+            /* [string][in] */ const WCHAR *app_guid,

+            /* [string][in] */ const WCHAR *cmd_id,

+            /* [in] */ DWORD caller_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle);

+        

+        END_INTERFACE

+    } IProcessLauncherVtbl;

+

+    interface IProcessLauncher

+    {

+        CONST_VTBL struct IProcessLauncherVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IProcessLauncher_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IProcessLauncher_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IProcessLauncher_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IProcessLauncher_LaunchCmdLine(This,cmd_line)	\

+    ( (This)->lpVtbl -> LaunchCmdLine(This,cmd_line) ) 

+

+#define IProcessLauncher_LaunchBrowser(This,browser_type,url)	\

+    ( (This)->lpVtbl -> LaunchBrowser(This,browser_type,url) ) 

+

+#define IProcessLauncher_LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle)	\

+    ( (This)->lpVtbl -> LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IProcessLauncher_INTERFACE_DEFINED__ */

+

+

+#ifndef __IProcessLauncher2_INTERFACE_DEFINED__

+#define __IProcessLauncher2_INTERFACE_DEFINED__

+

+/* interface IProcessLauncher2 */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IProcessLauncher2;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("74F243B8-75D1-4E2D-BC89-5689798EEF3E")

+    IProcessLauncher2 : public IProcessLauncher

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE LaunchCmdLineEx( 

+            /* [string][in] */ const WCHAR *cmd_line,

+            /* [out] */ DWORD *server_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle,

+            /* [out] */ ULONG_PTR *stdout_handle) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IProcessLauncher2Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IProcessLauncher2 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IProcessLauncher2 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IProcessLauncher2 * This);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdLine)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdLine )( 

+            IProcessLauncher2 * This,

+            /* [string][in] */ const WCHAR *cmd_line);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchBrowser)

+        HRESULT ( STDMETHODCALLTYPE *LaunchBrowser )( 

+            IProcessLauncher2 * This,

+            /* [in] */ DWORD browser_type,

+            /* [string][in] */ const WCHAR *url);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdElevated)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdElevated )( 

+            IProcessLauncher2 * This,

+            /* [string][in] */ const WCHAR *app_guid,

+            /* [string][in] */ const WCHAR *cmd_id,

+            /* [in] */ DWORD caller_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher2, LaunchCmdLineEx)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdLineEx )( 

+            IProcessLauncher2 * This,

+            /* [string][in] */ const WCHAR *cmd_line,

+            /* [out] */ DWORD *server_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle,

+            /* [out] */ ULONG_PTR *stdout_handle);

+        

+        END_INTERFACE

+    } IProcessLauncher2Vtbl;

+

+    interface IProcessLauncher2

+    {

+        CONST_VTBL struct IProcessLauncher2Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IProcessLauncher2_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IProcessLauncher2_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IProcessLauncher2_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IProcessLauncher2_LaunchCmdLine(This,cmd_line)	\

+    ( (This)->lpVtbl -> LaunchCmdLine(This,cmd_line) ) 

+

+#define IProcessLauncher2_LaunchBrowser(This,browser_type,url)	\

+    ( (This)->lpVtbl -> LaunchBrowser(This,browser_type,url) ) 

+

+#define IProcessLauncher2_LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle)	\

+    ( (This)->lpVtbl -> LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle) ) 

+

+

+#define IProcessLauncher2_LaunchCmdLineEx(This,cmd_line,server_proc_id,proc_handle,stdout_handle)	\

+    ( (This)->lpVtbl -> LaunchCmdLineEx(This,cmd_line,server_proc_id,proc_handle,stdout_handle) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IProcessLauncher2_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLegacyLib_LIBRARY_DEFINED__

+#define __UpdaterLegacyLib_LIBRARY_DEFINED__

+

+/* library UpdaterLegacyLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLegacyLib;

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("A0FEB7CB-E0D8-4035-A4C9-5620A8C725AD")

+GoogleUpdate3WebUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("FAC5C548-84EC-474C-A4B3-CD414E09B14C")

+GoogleUpdate3WebSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebServiceClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("687DCE9A-57BE-4026-BEC4-C0A9ACBBCAF2")

+GoogleUpdate3WebServiceClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("E432DCFE-6A32-4C07-B038-9D74AC80D6AB")

+PolicyStatusUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("F675D224-BD54-40E9-AECB-AA3B64EB9863")

+PolicyStatusSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_ProcessLauncherClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("CEC2877D-4856-460E-BE73-11DD7CC7C821")

+ProcessLauncherClass;

+#endif

+#endif /* __UpdaterLegacyLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system.tlb
new file mode 100644
index 0000000..af33803
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system_i.c
new file mode 100644
index 0000000..d59b0343
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system_i.c
@@ -0,0 +1,163 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWeb,0xAA10D17D,0x7A09,0x48AC,0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWebSystem,0x9367601E,0xC100,0x4702,0x87,0x55,0x80,0x8D,0x6B,0xB3,0x85,0xD8);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentState,0xA643508B,0xB1E3,0x4457,0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentStateSystem,0x71CBC6BB,0xCA4B,0x4B5A,0x83,0xC0,0xFC,0x95,0xF9,0xCA,0x6A,0x30);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3Web,0xA35E1C5E,0x0A18,0x4FF1,0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3WebSystem,0xAE5F8C9D,0xB94D,0x4367,0xA4,0x22,0xD1,0xDC,0x4E,0x91,0x3A,0x52);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWeb,0x0569DBB9,0xBAA0,0x48D5,0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWebSystem,0xBFFD766D,0xA2DD,0x436E,0x89,0xFA,0xBF,0x05,0xBC,0x5B,0x59,0x58);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWeb,0x63D941DE,0xF67B,0x4E15,0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWebSystem,0x540B227A,0xF442,0x45D5,0xBA,0x52,0x29,0x8A,0x05,0xBA,0xF1,0xA8);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWeb,0x10A2D03F,0x8BC7,0x49DB,0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWebSystem,0xC6E2C5D5,0x86FA,0x4A64,0x9D,0x08,0x8C,0x9B,0x64,0x4F,0x0E,0x49);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus,0x6A54FE75,0xEDC8,0x404E,0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusSystem,0xF3964464,0xA939,0x44D3,0x92,0x44,0x36,0xBD,0x2E,0x36,0x30,0xB8);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValue,0x2A7D2AE7,0x8EEE,0x45B4,0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValueSystem,0xCC2CCD05,0x119C,0x44E1,0x85,0x2D,0x6D,0xCC,0x2D,0xFB,0x72,0xEC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2,0x06A6AA1E,0x2680,0x4076,0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2System,0xF4A0362A,0x3702,0x48B8,0x98,0x96,0x7D,0x80,0x13,0xD0,0x3A,0xB2);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3,0x029BD175,0x5035,0x4E2A,0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3System,0x7B26CC23,0xB2B8,0x441B,0xAA,0x9C,0x8B,0x55,0x1A,0xBB,0x61,0x1B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IProcessLauncher,0x4779D540,0xF6A3,0x455F,0xA9,0x29,0x7A,0xDF,0xE8,0x5B,0x6F,0x09);

+

+

+MIDL_DEFINE_GUID(IID, IID_IProcessLauncher2,0x74F243B8,0x75D1,0x4E2D,0xBC,0x89,0x56,0x89,0x79,0x8E,0xEF,0x3E);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLegacyLib,0x7A1FDE1F,0xAAA9,0x441B,0xB9,0xAA,0x95,0xB3,0x1D,0x78,0x59,0x2B);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebUserClass,0xA0FEB7CB,0xE0D8,0x4035,0xA4,0xC9,0x56,0x20,0xA8,0xC7,0x25,0xAD);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebSystemClass,0xFAC5C548,0x84EC,0x474C,0xA4,0xB3,0xCD,0x41,0x4E,0x09,0xB1,0x4C);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebServiceClass,0x687DCE9A,0x57BE,0x4026,0xBE,0xC4,0xC0,0xA9,0xAC,0xBB,0xCA,0xF2);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusUserClass,0xE432DCFE,0x6A32,0x4C07,0xB0,0x38,0x9D,0x74,0xAC,0x80,0xD6,0xAB);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusSystemClass,0xF675D224,0xBD54,0x40E9,0xAE,0xCB,0xAA,0x3B,0x64,0xEB,0x98,0x63);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_ProcessLauncherClass,0xCEC2877D,0x4856,0x460E,0xBE,0x73,0x11,0xDD,0x7C,0xC7,0xC8,0x21);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system_p.c
new file mode 100644
index 0000000..74d5c2a9
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_system_p.c
@@ -0,0 +1,7109 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_system.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_AMD64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_legacy_idl_system.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1111                              

+#define PROC_FORMAT_STRING_SIZE   3537                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_system_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_system_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_system__MIDL_TypeFormatString;

+extern const updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING updater_legacy_idl_system__MIDL_ProcFormatString;

+extern const updater_legacy_idl_system_MIDL_EXPR_FORMAT_STRING updater_legacy_idl_system__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentStateSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentStateSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3WebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValueSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2System_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2System_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3System_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3System_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IProcessLauncher_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IProcessLauncher_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IProcessLauncher2_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IProcessLauncher2_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_WIN64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING updater_legacy_idl_system__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x7 ),	/* 7 */

+/*  8 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 18 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0000 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0000 */

+

+

+	/* Parameter __MIDL__IAppWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppWeb0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWeb0000 */

+

+/* 26 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 28 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 30 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 32 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 34 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 36 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_packageCount */

+

+

+	/* Procedure get_packageCount */

+

+/* 38 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 40 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 46 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 48 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 50 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 52 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 54 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppCommandWebSystem0001 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0001 */

+

+

+	/* Parameter count */

+

+

+	/* Parameter count */

+

+/* 64 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 66 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 68 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 70 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 72 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 74 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageWeb */

+

+

+	/* Procedure get_packageWeb */

+

+/* 76 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 78 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 82 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 84 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 86 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 88 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 90 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 92 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 96 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 98 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 100 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 102 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 104 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 106 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter package */

+

+

+	/* Parameter package */

+

+/* 108 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 110 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 112 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 114 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 116 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 118 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_stateValue */

+

+

+	/* Procedure get_stateValue */

+

+/* 120 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 122 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 126 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 128 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 130 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 132 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 134 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 136 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 138 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 144 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter minutes */

+

+

+	/* Parameter minutes */

+

+

+	/* Parameter __MIDL__IAppCommandWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0000 */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0000 */

+

+

+	/* Parameter __MIDL__ICurrentState0000 */

+

+/* 146 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 148 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 152 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 154 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 156 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_availableVersion */

+

+

+	/* Procedure get_availableVersion */

+

+/* 158 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 160 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 166 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 168 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 170 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 172 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 174 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 176 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 178 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 180 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 182 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0001 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0001 */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0001 */

+

+

+	/* Parameter __MIDL__ICurrentState0001 */

+

+/* 184 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 186 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 188 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 190 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 192 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 194 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_bytesDownloaded */

+

+

+	/* Procedure get_bytesDownloaded */

+

+/* 196 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 198 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 202 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 204 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 206 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 208 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 210 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 212 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 214 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 216 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 218 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 220 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0002 */

+

+

+	/* Parameter __MIDL__ICurrentState0002 */

+

+/* 222 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 224 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 226 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 228 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 230 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 232 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+/* 234 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 236 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 240 */	NdrFcShort( 0xa ),	/* 10 */

+/* 242 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 244 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 246 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 248 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 250 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 254 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 256 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 258 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter limit */

+

+

+	/* Parameter limit */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0003 */

+

+

+	/* Parameter __MIDL__ICurrentState0003 */

+

+/* 260 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 262 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 264 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 266 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 268 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 270 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+/* 272 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 274 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 278 */	NdrFcShort( 0xb ),	/* 11 */

+/* 280 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 282 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 284 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 286 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 288 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 290 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 292 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 296 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter days */

+

+

+	/* Parameter days */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0004 */

+

+

+	/* Parameter __MIDL__ICurrentState0004 */

+

+/* 298 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 300 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 302 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 304 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 306 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 308 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextRetryTime */

+

+

+	/* Procedure get_nextRetryTime */

+

+/* 310 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 312 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 316 */	NdrFcShort( 0xc ),	/* 12 */

+/* 318 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 322 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 324 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 326 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 328 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 332 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 334 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0005 */

+

+

+	/* Parameter __MIDL__ICurrentState0005 */

+

+/* 336 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 338 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 340 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 342 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 344 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 346 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 348 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 350 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 354 */	NdrFcShort( 0xd ),	/* 13 */

+/* 356 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 358 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 360 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 362 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 364 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 366 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 368 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 370 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 372 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0006 */

+

+

+	/* Parameter __MIDL__ICurrentState0006 */

+

+/* 374 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 376 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 378 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 380 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 382 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 384 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installTimeRemainingMs */

+

+

+	/* Procedure get_installTimeRemainingMs */

+

+/* 386 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 388 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 392 */	NdrFcShort( 0xe ),	/* 14 */

+/* 394 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 396 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 398 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 400 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 402 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 406 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 410 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0007 */

+

+

+	/* Parameter __MIDL__ICurrentState0007 */

+

+/* 412 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 414 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 416 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 418 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 420 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 422 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isCanceled */

+

+

+	/* Procedure get_isCanceled */

+

+/* 424 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 426 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 430 */	NdrFcShort( 0xf ),	/* 15 */

+/* 432 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 434 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 436 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 438 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 440 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 448 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_canceled */

+

+

+	/* Parameter is_canceled */

+

+/* 450 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 452 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 454 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 456 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 458 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 460 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 462 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 464 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 468 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 470 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 474 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 476 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 478 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 480 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 482 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 486 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0008 */

+

+

+	/* Parameter __MIDL__ICurrentState0008 */

+

+/* 488 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 490 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 492 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 494 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 496 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 498 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 500 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 502 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 506 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 508 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 510 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 512 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 514 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 516 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 518 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 524 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0009 */

+

+

+	/* Parameter __MIDL__ICurrentState0009 */

+

+/* 526 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 528 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 530 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 532 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 534 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 536 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_completionMessage */

+

+

+	/* Procedure get_completionMessage */

+

+/* 538 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 540 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 544 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 546 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 550 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 552 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 554 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 556 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 562 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0010 */

+

+

+	/* Parameter __MIDL__ICurrentState0010 */

+

+/* 564 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 566 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 568 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 570 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 572 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 574 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultCode */

+

+

+	/* Procedure get_installerResultCode */

+

+/* 576 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 578 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 582 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 584 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 588 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 590 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 592 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 596 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 598 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 600 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0011 */

+

+

+	/* Parameter __MIDL__ICurrentState0011 */

+

+/* 602 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 604 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 606 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 608 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 610 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 612 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultExtraCode1 */

+

+

+	/* Procedure get_installerResultExtraCode1 */

+

+/* 614 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 616 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 620 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 622 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 624 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 626 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 628 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 630 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 638 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0012 */

+

+

+	/* Parameter __MIDL__ICurrentState0012 */

+

+/* 640 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 642 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 644 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 646 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 648 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 650 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+/* 652 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 654 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 658 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 660 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 662 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 664 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 666 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 668 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 670 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 672 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 674 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 676 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0013 */

+

+

+	/* Parameter __MIDL__ICurrentState0013 */

+

+/* 678 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 680 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 682 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 684 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 686 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 688 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallUrl */

+

+

+	/* Procedure get_postInstallUrl */

+

+/* 690 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 692 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 698 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 704 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 706 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 708 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 714 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0014 */

+

+

+	/* Parameter __MIDL__ICurrentState0014 */

+

+/* 716 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 718 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 720 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 722 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 724 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 726 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallAction */

+

+

+	/* Procedure get_postInstallAction */

+

+/* 728 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 730 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 734 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 736 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 738 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 740 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 742 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 744 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 748 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 750 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 752 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0015 */

+

+

+	/* Parameter __MIDL__ICurrentState0015 */

+

+/* 754 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 756 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 758 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 760 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 762 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 764 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createAppBundleWeb */

+

+

+	/* Procedure createAppBundleWeb */

+

+/* 766 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 768 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 772 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 774 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 776 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 778 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 780 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 782 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 786 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 788 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 790 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_bundle_web */

+

+

+	/* Parameter app_bundle_web */

+

+/* 792 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 794 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 796 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 798 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 800 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 802 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createApp */

+

+

+	/* Procedure createApp */

+

+/* 804 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 806 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 812 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 814 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 816 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 818 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 820 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 822 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 824 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 828 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_guid */

+

+

+	/* Parameter app_guid */

+

+/* 830 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 832 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 834 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter brand_code */

+

+

+	/* Parameter brand_code */

+

+/* 836 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 838 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 840 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter language */

+

+

+	/* Parameter language */

+

+/* 842 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 844 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 846 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter ap */

+

+

+	/* Parameter ap */

+

+/* 848 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 850 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 852 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 854 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 856 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 858 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createInstalledApp */

+

+

+	/* Procedure createInstalledApp */

+

+/* 860 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 862 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 868 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 870 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 872 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 874 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 876 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 878 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 880 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 882 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 884 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 886 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 888 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 890 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 892 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 894 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 896 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure createAllInstalledApps */

+

+

+	/* Procedure createAllInstalledApps */

+

+/* 898 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 900 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 904 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 906 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 908 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 910 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 912 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 914 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 916 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 918 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 920 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 922 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 924 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 926 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 928 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_displayLanguage */

+

+

+	/* Procedure get_displayLanguage */

+

+/* 930 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 932 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 936 */	NdrFcShort( 0xa ),	/* 10 */

+/* 938 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 940 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 942 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 944 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 946 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 948 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 950 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 952 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 954 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0002 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0002 */

+

+

+	/* Parameter __MIDL__IAppBundleWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0000 */

+

+/* 956 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 958 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 960 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 962 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 964 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 966 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_displayLanguage */

+

+

+	/* Procedure put_displayLanguage */

+

+/* 968 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 970 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 974 */	NdrFcShort( 0xb ),	/* 11 */

+/* 976 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 978 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 980 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 982 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 984 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 986 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 988 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 990 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 992 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppBundleWebSystem0001 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0001 */

+

+/* 994 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 996 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 998 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1000 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1002 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1004 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_parentHWND */

+

+

+	/* Procedure put_parentHWND */

+

+/* 1006 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1008 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1012 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1014 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1016 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1018 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1020 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 1022 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1024 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1026 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1030 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter hwnd */

+

+

+	/* Parameter hwnd */

+

+/* 1032 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1034 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1036 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1038 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1040 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1042 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appWeb */

+

+

+	/* Procedure get_appWeb */

+

+/* 1044 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1046 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1050 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1052 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1054 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1056 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1058 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1060 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1062 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1064 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1066 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1068 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 1070 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1072 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1074 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter app_web */

+

+

+	/* Parameter app_web */

+

+/* 1076 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1078 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1080 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1082 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1084 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1086 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure initialize */

+

+

+	/* Procedure initialize */

+

+/* 1088 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1090 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1094 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1096 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1100 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1102 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1104 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1108 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1110 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1112 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1114 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1116 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1118 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure checkForUpdate */

+

+

+	/* Procedure checkForUpdate */

+

+/* 1120 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1122 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1126 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1128 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1130 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1132 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1134 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1136 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1138 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1144 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1148 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure download */

+

+

+	/* Procedure download */

+

+/* 1152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1158 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 1160 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1166 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1168 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1176 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1178 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1180 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1182 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure install */

+

+

+	/* Procedure install */

+

+/* 1184 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1186 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1190 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 1192 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1194 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1196 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1198 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1200 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1202 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1204 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1206 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1208 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1210 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1212 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1214 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure pause */

+

+

+	/* Procedure pause */

+

+/* 1216 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1218 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1222 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 1224 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1226 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1228 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1230 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1232 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1234 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1236 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1238 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1240 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1242 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1244 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1246 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure resume */

+

+

+	/* Procedure resume */

+

+/* 1248 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1250 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1254 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 1256 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1258 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1260 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1262 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1264 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1266 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1272 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1274 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1276 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1278 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1280 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1282 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1286 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 1288 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1290 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1292 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1294 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1296 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1298 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1300 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1302 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1304 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1306 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1308 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1310 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure downloadPackage */

+

+

+	/* Procedure downloadPackage */

+

+/* 1312 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1314 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1318 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 1320 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1324 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1326 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1328 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1332 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1336 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1338 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1340 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1342 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter package_name */

+

+

+	/* Parameter package_name */

+

+/* 1344 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1346 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1348 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1350 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1352 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1354 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1356 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1358 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1362 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 1364 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1366 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1368 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1370 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1372 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1374 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1378 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1380 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1382 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1384 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1386 */	NdrFcShort( 0x3fe ),	/* Type Offset=1022 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1388 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1390 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1392 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentVersionWeb */

+

+

+	/* Procedure get_currentVersionWeb */

+

+/* 1394 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1396 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1400 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1402 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1406 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1408 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1410 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1412 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1414 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1416 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1418 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current */

+

+

+	/* Parameter current */

+

+/* 1420 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1422 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1424 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1426 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1428 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1430 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersionWeb */

+

+

+	/* Procedure get_nextVersionWeb */

+

+/* 1432 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1434 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1438 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1440 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1444 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1446 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1448 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1452 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1454 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1456 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter next */

+

+

+	/* Parameter next */

+

+/* 1458 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1460 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1462 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1464 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1466 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1468 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_command */

+

+

+	/* Procedure get_command */

+

+/* 1470 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1472 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1476 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1478 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1480 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1482 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1484 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1486 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1490 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1492 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1494 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter command_id */

+

+

+	/* Parameter command_id */

+

+/* 1496 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1498 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1500 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter command */

+

+

+	/* Parameter command */

+

+/* 1502 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1504 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1506 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1508 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1510 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1512 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1514 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1516 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1520 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1522 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1524 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1526 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1528 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1530 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1532 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1534 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1536 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1538 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1540 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1542 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1544 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1546 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1548 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1554 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1556 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1558 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1560 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1562 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1564 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1568 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1570 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1572 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1574 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1576 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1578 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1580 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1582 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure launch */

+

+

+	/* Procedure launch */

+

+/* 1584 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1586 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1590 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1592 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1596 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1598 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1600 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1602 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1606 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1608 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1610 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1612 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1614 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure uninstall */

+

+

+	/* Procedure uninstall */

+

+/* 1616 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1618 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1622 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1624 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1626 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1628 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1630 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1632 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1638 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1640 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1642 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1644 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1646 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_serverInstallDataIndex */

+

+

+	/* Procedure get_serverInstallDataIndex */

+

+/* 1648 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1650 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1654 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1656 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1660 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1662 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1664 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1666 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1668 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1672 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppWebSystem0001 */

+

+

+	/* Parameter __MIDL__IAppWeb0001 */

+

+/* 1674 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1676 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1678 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1680 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1682 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1684 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_serverInstallDataIndex */

+

+

+	/* Procedure put_serverInstallDataIndex */

+

+/* 1686 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1688 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1692 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1694 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1696 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1698 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1700 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1702 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1706 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1710 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppWebSystem0002 */

+

+

+	/* Parameter __MIDL__IAppWeb0002 */

+

+/* 1712 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1714 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1716 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1718 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1720 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1722 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_output */

+

+

+	/* Procedure get_output */

+

+/* 1724 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1726 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1730 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1732 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1734 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1736 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1738 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1740 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1742 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1748 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter pref */

+

+

+	/* Parameter pref */

+

+

+	/* Parameter __MIDL__IAppCommandWebSystem0002 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0002 */

+

+/* 1750 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1752 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1754 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1756 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1758 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1760 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure execute */

+

+

+	/* Procedure execute */

+

+/* 1762 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1764 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1768 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1770 */	NdrFcShort( 0x58 ),	/* X64 Stack size/offset = 88 */

+/* 1772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1774 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1776 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xa,		/* 10 */

+/* 1778 */	0xa,		/* 10 */

+			0x85,		/* Ext Flags:  new corr desc, srv corr check, has big byval param */

+/* 1780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1782 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1786 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter substitution1 */

+

+

+	/* Parameter substitution1 */

+

+/* 1788 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1790 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1792 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution2 */

+

+

+	/* Parameter substitution2 */

+

+/* 1794 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1796 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1798 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution3 */

+

+

+	/* Parameter substitution3 */

+

+/* 1800 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1802 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1804 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution4 */

+

+

+	/* Parameter substitution4 */

+

+/* 1806 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1808 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1810 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution5 */

+

+

+	/* Parameter substitution5 */

+

+/* 1812 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1814 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1816 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution6 */

+

+

+	/* Parameter substitution6 */

+

+/* 1818 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1820 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1822 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution7 */

+

+

+	/* Parameter substitution7 */

+

+/* 1824 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1826 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1828 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution8 */

+

+

+	/* Parameter substitution8 */

+

+/* 1830 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1832 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1834 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution9 */

+

+

+	/* Parameter substitution9 */

+

+/* 1836 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1838 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 1840 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1842 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1844 */	NdrFcShort( 0x50 ),	/* X64 Stack size/offset = 80 */

+/* 1846 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 1848 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1850 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1854 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1856 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1858 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1860 */	NdrFcShort( 0x76 ),	/* 118 */

+/* 1862 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x5,		/* 5 */

+/* 1864 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1866 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1868 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1870 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1872 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter start_hour */

+

+

+	/* Parameter start_hour */

+

+/* 1874 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1876 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1878 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter start_min */

+

+

+	/* Parameter start_min */

+

+/* 1880 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1882 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1884 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter duration_min */

+

+

+	/* Parameter duration_min */

+

+/* 1886 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1888 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1890 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter are_updates_suppressed */

+

+

+	/* Parameter are_updates_suppressed */

+

+/* 1892 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1894 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1896 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1898 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1900 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1902 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 1904 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1906 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1910 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1912 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1914 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1916 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1918 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1920 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1922 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1924 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1926 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1928 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1930 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1932 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1934 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 1936 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1938 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1940 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1942 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1944 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1946 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 1948 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1950 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1954 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1956 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1958 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1960 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1962 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1964 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1966 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1968 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1970 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1972 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1974 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1976 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1978 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 1980 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1982 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1984 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1986 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1988 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1990 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 1992 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1994 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1998 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2000 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2002 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2004 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2006 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2008 */	0xa,		/* 10 */

+			0x7,		/* Ext Flags:  new corr desc, clt corr check, srv corr check, */

+/* 2010 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2012 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2014 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2016 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2018 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2020 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2022 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter prefix */

+

+

+	/* Parameter prefix */

+

+/* 2024 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2026 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2028 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2030 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2032 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2034 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2036 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2038 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2042 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2044 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2048 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 2050 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2052 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2054 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2056 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2058 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2060 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2062 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2064 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2066 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter rollback_allowed */

+

+

+	/* Parameter rollback_allowed */

+

+/* 2068 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2070 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2072 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2074 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2076 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2078 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_hasConflict */

+

+

+	/* Procedure get_hasConflict */

+

+/* 2080 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2082 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2086 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 2088 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2090 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2092 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 2094 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2096 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2104 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter has_conflict */

+

+

+	/* Parameter has_conflict */

+

+/* 2106 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2108 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2110 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2112 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2114 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2116 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictValue */

+

+

+	/* Procedure get_conflictValue */

+

+/* 2118 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2120 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2124 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2126 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2130 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2132 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2134 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 2136 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2138 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2142 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0003 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0003 */

+

+/* 2144 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2146 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2148 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2150 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2152 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2154 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckedTime */

+

+

+	/* Procedure get_lastCheckedTime */

+

+/* 2156 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2158 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2162 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2164 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2166 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2168 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 2170 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2172 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2176 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2178 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2180 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter last_checked */

+

+

+	/* Parameter last_checked */

+

+/* 2182 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2184 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2186 */	0xc,		/* FC_DOUBLE */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2188 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2190 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2192 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2194 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2196 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2200 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2202 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2204 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2206 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2208 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2210 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2212 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2214 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2216 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2218 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2220 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2222 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2224 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2226 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2228 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2230 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2232 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2234 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2238 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2240 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2242 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2244 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2246 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2248 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2250 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2254 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2256 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2258 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2260 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2262 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2264 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2266 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2268 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2270 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2272 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2274 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2276 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2278 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2282 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2284 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2288 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2290 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2292 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2296 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2298 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2300 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2302 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2304 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2306 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2308 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2310 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2312 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2314 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2316 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2320 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2322 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2326 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2328 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2330 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2332 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2336 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2338 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2340 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2342 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2344 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2346 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2348 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2350 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2352 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2354 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2358 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2360 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2362 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2364 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2366 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2368 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2370 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2372 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2374 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2376 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2378 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2380 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2382 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2384 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2386 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2388 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2390 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2392 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2396 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2398 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2400 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2402 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2404 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2406 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2412 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2414 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2416 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2418 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2420 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2422 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2424 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2426 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2428 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2430 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2434 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2436 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2438 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2440 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2442 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2444 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2452 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2454 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2456 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2458 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2460 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2462 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2464 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2466 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2468 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2472 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2474 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2478 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2480 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2482 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2490 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2492 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2494 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2496 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2498 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2500 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2502 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2504 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2506 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2510 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2512 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2516 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2518 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2520 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2524 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2526 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2528 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2530 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2532 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2534 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2536 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2538 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2540 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2542 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2544 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2546 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2548 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2550 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2554 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2556 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2560 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2562 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2564 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2568 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2570 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2572 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2574 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2576 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2578 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2580 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2582 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2584 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2586 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2588 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2590 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2592 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2594 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2598 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2600 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2602 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2604 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2606 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2608 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2610 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2612 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2616 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2618 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2620 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2622 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2624 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2626 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2628 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2630 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2632 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2634 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2636 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2638 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2642 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 2644 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2646 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2648 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2650 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2652 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2654 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2656 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2660 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2662 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2664 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2666 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2668 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2670 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2672 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2674 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2676 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2678 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 2680 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2682 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2686 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2688 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2690 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2692 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2694 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2696 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2698 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2700 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2702 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2704 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2706 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2708 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2710 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2712 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2714 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2716 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2718 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2720 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2722 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2724 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2726 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2730 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2732 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2734 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2736 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2738 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2740 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2748 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2750 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2752 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2754 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2756 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2758 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2760 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2762 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2764 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2768 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2770 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2772 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2774 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2776 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2778 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2786 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2788 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2790 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2792 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2794 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2796 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2798 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2800 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2802 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2804 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2806 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2808 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2812 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2814 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2818 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2820 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2822 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2828 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2830 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2832 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2834 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2836 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2838 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2840 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2842 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2844 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2846 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2850 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2852 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2854 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2856 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2858 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2860 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2866 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2868 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2870 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2872 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2874 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2876 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2878 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2880 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2882 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2884 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2888 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2890 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2894 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2896 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2898 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2902 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2904 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2906 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2908 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2910 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2912 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2914 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2916 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2918 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2920 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2922 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2926 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2928 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2930 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2932 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2934 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2936 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2938 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2940 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2942 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2944 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2946 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2948 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2950 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2952 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2954 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2956 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2958 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2960 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2964 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2966 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2968 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2970 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2972 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2974 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2976 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2978 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2980 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2982 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2984 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2986 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2988 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2990 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2992 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2994 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2996 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2998 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3002 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 3004 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3006 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3008 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3010 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3012 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3014 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3016 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3018 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3020 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 3022 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3024 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3026 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3028 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3030 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3032 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 3034 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3036 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3040 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 3042 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3044 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3046 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3048 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3050 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3052 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3054 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3056 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3058 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3060 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3062 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3064 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3066 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3068 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3070 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3072 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3074 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3076 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 3078 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3080 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3084 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 3086 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3088 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3090 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3092 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3094 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3096 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3098 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3102 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3104 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3106 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3108 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3110 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3112 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3114 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3116 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3118 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3120 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 3122 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3124 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3128 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 3130 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3134 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3136 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3138 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3142 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3144 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3146 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3148 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3150 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3152 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3154 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3156 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3158 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3160 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3162 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3164 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 3166 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3168 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3172 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 3174 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3176 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3178 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3180 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3182 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3184 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3186 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3188 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3190 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3192 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3194 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3196 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3198 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3200 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3202 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3204 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3206 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3208 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 3210 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3212 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3216 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 3218 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3220 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3222 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3224 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3226 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3228 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3230 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3234 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3236 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3238 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3240 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3242 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3244 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3246 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3248 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3250 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3252 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3254 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3256 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3260 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3262 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3264 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3266 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3268 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3270 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3272 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3274 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3276 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3278 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_machine */

+

+/* 3280 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3282 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3284 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3286 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3288 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3290 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 3292 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3294 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3296 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3298 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3300 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3304 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3306 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3308 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3310 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3312 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3314 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3316 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3318 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3322 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_machine */

+

+/* 3324 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3326 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3328 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3330 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3332 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3334 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3336 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3338 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3340 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchCmdLine */

+

+/* 3342 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3344 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3348 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3350 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3352 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3354 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3356 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3358 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3360 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3362 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3364 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3366 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter cmd_line */

+

+/* 3368 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3370 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3372 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Return value */

+

+/* 3374 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3376 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3378 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchBrowser */

+

+/* 3380 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3386 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3388 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3390 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3392 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3394 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3396 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3398 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3400 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3404 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter browser_type */

+

+/* 3406 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3408 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3410 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter url */

+

+/* 3412 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3414 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3416 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Return value */

+

+/* 3418 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3420 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3422 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchCmdElevated */

+

+/* 3424 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3426 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3430 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 3432 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 3434 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3436 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3438 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 3440 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3448 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_guid */

+

+/* 3450 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3452 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3454 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Parameter cmd_id */

+

+/* 3456 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3458 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3460 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Parameter caller_proc_id */

+

+/* 3462 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3464 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3466 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter proc_handle */

+

+/* 3468 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3470 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3472 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3474 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3476 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3478 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchCmdLineEx */

+

+/* 3480 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3482 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3486 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3488 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 3490 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3492 */	NdrFcShort( 0x5c ),	/* 92 */

+/* 3494 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 3496 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3498 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3500 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3502 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3504 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter cmd_line */

+

+/* 3506 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3508 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3510 */	NdrFcShort( 0x450 ),	/* Type Offset=1104 */

+

+	/* Parameter server_proc_id */

+

+/* 3512 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3514 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3516 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter proc_handle */

+

+/* 3518 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3520 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3522 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Parameter stdout_handle */

+

+/* 3524 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3526 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3528 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3530 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3532 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 3534 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_system__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  4 */	NdrFcShort( 0x1c ),	/* Offset= 28 (32) */

+/*  6 */	

+			0x13, 0x0,	/* FC_OP */

+/*  8 */	NdrFcShort( 0xe ),	/* Offset= 14 (22) */

+/* 10 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 12 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 14 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 16 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 18 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 20 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 22 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 24 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 26 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (10) */

+/* 28 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 30 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 32 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 34 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 36 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0xffde ),	/* Offset= -34 (6) */

+/* 42 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 44 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 46 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 48 */	NdrFcShort( 0x2 ),	/* Offset= 2 (50) */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 62 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 64 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 66 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 68 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 70 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 72 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 74 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 76 */	

+			0x12, 0x0,	/* FC_UP */

+/* 78 */	NdrFcShort( 0xffc8 ),	/* Offset= -56 (22) */

+/* 80 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (76) */

+/* 90 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/* 92 */	NdrFcShort( 0x3a2 ),	/* Offset= 930 (1022) */

+/* 94 */	

+			0x13, 0x0,	/* FC_OP */

+/* 96 */	NdrFcShort( 0x38a ),	/* Offset= 906 (1002) */

+/* 98 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 100 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 102 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 104 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 106 */	NdrFcShort( 0x2 ),	/* Offset= 2 (108) */

+/* 108 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 110 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 112 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 116 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 118 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 122 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 124 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 128 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 130 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 134 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 136 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 140 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 142 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 146 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 148 */	NdrFcLong( 0xb ),	/* 11 */

+/* 152 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 154 */	NdrFcLong( 0xa ),	/* 10 */

+/* 158 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 160 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 164 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (396) */

+/* 166 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 170 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 172 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 176 */	NdrFcShort( 0xff56 ),	/* Offset= -170 (6) */

+/* 178 */	NdrFcLong( 0xd ),	/* 13 */

+/* 182 */	NdrFcShort( 0xdc ),	/* Offset= 220 (402) */

+/* 184 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 188 */	NdrFcShort( 0xff76 ),	/* Offset= -138 (50) */

+/* 190 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 194 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (420) */

+/* 196 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 200 */	NdrFcShort( 0x2d8 ),	/* Offset= 728 (928) */

+/* 202 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 206 */	NdrFcShort( 0x2d2 ),	/* Offset= 722 (928) */

+/* 208 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 212 */	NdrFcShort( 0x2d0 ),	/* Offset= 720 (932) */

+/* 214 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 218 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (936) */

+/* 220 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 224 */	NdrFcShort( 0x2cc ),	/* Offset= 716 (940) */

+/* 226 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 230 */	NdrFcShort( 0x2ca ),	/* Offset= 714 (944) */

+/* 232 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 236 */	NdrFcShort( 0x2c8 ),	/* Offset= 712 (948) */

+/* 238 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 242 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (952) */

+/* 244 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 248 */	NdrFcShort( 0x2b0 ),	/* Offset= 688 (936) */

+/* 250 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 254 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (940) */

+/* 256 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 260 */	NdrFcShort( 0x2b8 ),	/* Offset= 696 (956) */

+/* 262 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 266 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (952) */

+/* 268 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 272 */	NdrFcShort( 0x2b0 ),	/* Offset= 688 (960) */

+/* 274 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 278 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (964) */

+/* 280 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 284 */	NdrFcShort( 0x2ac ),	/* Offset= 684 (968) */

+/* 286 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 290 */	NdrFcShort( 0x2aa ),	/* Offset= 682 (972) */

+/* 292 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 296 */	NdrFcShort( 0x2a8 ),	/* Offset= 680 (976) */

+/* 298 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 302 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 304 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 308 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 310 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 314 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 316 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 320 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 322 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 326 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 328 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 332 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 334 */	NdrFcLong( 0xe ),	/* 14 */

+/* 338 */	NdrFcShort( 0x286 ),	/* Offset= 646 (984) */

+/* 340 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 344 */	NdrFcShort( 0x28a ),	/* Offset= 650 (994) */

+/* 346 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 350 */	NdrFcShort( 0x288 ),	/* Offset= 648 (998) */

+/* 352 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 356 */	NdrFcShort( 0x244 ),	/* Offset= 580 (936) */

+/* 358 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 362 */	NdrFcShort( 0x242 ),	/* Offset= 578 (940) */

+/* 364 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 368 */	NdrFcShort( 0x240 ),	/* Offset= 576 (944) */

+/* 370 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 374 */	NdrFcShort( 0x236 ),	/* Offset= 566 (940) */

+/* 376 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 380 */	NdrFcShort( 0x230 ),	/* Offset= 560 (940) */

+/* 382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0x0 ),	/* Offset= 0 (386) */

+/* 388 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 392 */	NdrFcShort( 0x0 ),	/* Offset= 0 (392) */

+/* 394 */	NdrFcShort( 0xffff ),	/* Offset= -1 (393) */

+/* 396 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 400 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 402 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 404 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 412 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 414 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 416 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 418 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 420 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 422 */	NdrFcShort( 0x2 ),	/* Offset= 2 (424) */

+/* 424 */	

+			0x13, 0x0,	/* FC_OP */

+/* 426 */	NdrFcShort( 0x1e4 ),	/* Offset= 484 (910) */

+/* 428 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x89,		/* 137 */

+/* 430 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 432 */	NdrFcShort( 0xa ),	/* 10 */

+/* 434 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 438 */	NdrFcShort( 0x50 ),	/* Offset= 80 (518) */

+/* 440 */	NdrFcLong( 0xd ),	/* 13 */

+/* 444 */	NdrFcShort( 0x70 ),	/* Offset= 112 (556) */

+/* 446 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 450 */	NdrFcShort( 0x90 ),	/* Offset= 144 (594) */

+/* 452 */	NdrFcLong( 0xc ),	/* 12 */

+/* 456 */	NdrFcShort( 0xb0 ),	/* Offset= 176 (632) */

+/* 458 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 462 */	NdrFcShort( 0x102 ),	/* Offset= 258 (720) */

+/* 464 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 468 */	NdrFcShort( 0x11e ),	/* Offset= 286 (754) */

+/* 470 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 474 */	NdrFcShort( 0x138 ),	/* Offset= 312 (786) */

+/* 476 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 480 */	NdrFcShort( 0x14e ),	/* Offset= 334 (814) */

+/* 482 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 486 */	NdrFcShort( 0x164 ),	/* Offset= 356 (842) */

+/* 488 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 492 */	NdrFcShort( 0x17a ),	/* Offset= 378 (870) */

+/* 494 */	NdrFcShort( 0xffff ),	/* Offset= -1 (493) */

+/* 496 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 498 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 500 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 502 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 504 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 506 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 510 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 512 */	

+			0x13, 0x0,	/* FC_OP */

+/* 514 */	NdrFcShort( 0xfe14 ),	/* Offset= -492 (22) */

+/* 516 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 518 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 520 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 524 */	NdrFcShort( 0x6 ),	/* Offset= 6 (530) */

+/* 526 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 528 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 530 */	

+			0x11, 0x0,	/* FC_RP */

+/* 532 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (496) */

+/* 534 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 536 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 538 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 542 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 544 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 548 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 550 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 552 */	NdrFcShort( 0xff6a ),	/* Offset= -150 (402) */

+/* 554 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 556 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 558 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 562 */	NdrFcShort( 0x6 ),	/* Offset= 6 (568) */

+/* 564 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 566 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 568 */	

+			0x11, 0x0,	/* FC_RP */

+/* 570 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (534) */

+/* 572 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 574 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 576 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 578 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 580 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 582 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 586 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 588 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 590 */	NdrFcShort( 0xfde4 ),	/* Offset= -540 (50) */

+/* 592 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 594 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 596 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 598 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 600 */	NdrFcShort( 0x6 ),	/* Offset= 6 (606) */

+/* 602 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 604 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 606 */	

+			0x11, 0x0,	/* FC_RP */

+/* 608 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (572) */

+/* 610 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 612 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 614 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 618 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 620 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 624 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 626 */	

+			0x13, 0x0,	/* FC_OP */

+/* 628 */	NdrFcShort( 0x176 ),	/* Offset= 374 (1002) */

+/* 630 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 632 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 634 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 638 */	NdrFcShort( 0x6 ),	/* Offset= 6 (644) */

+/* 640 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 642 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 644 */	

+			0x11, 0x0,	/* FC_RP */

+/* 646 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (610) */

+/* 648 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 650 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 654 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 656 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 658 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 660 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 662 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 664 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 666 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 668 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 670 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 672 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 674 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 676 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 678 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 680 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 684 */	NdrFcShort( 0xa ),	/* Offset= 10 (694) */

+/* 686 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 688 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 690 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (648) */

+/* 692 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 694 */	

+			0x13, 0x0,	/* FC_OP */

+/* 696 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (666) */

+/* 698 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 706 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 708 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 712 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 714 */	

+			0x13, 0x0,	/* FC_OP */

+/* 716 */	NdrFcShort( 0xffda ),	/* Offset= -38 (678) */

+/* 718 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 720 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 722 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 724 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 726 */	NdrFcShort( 0x6 ),	/* Offset= 6 (732) */

+/* 728 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 730 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 732 */	

+			0x11, 0x0,	/* FC_RP */

+/* 734 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (698) */

+/* 736 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 738 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 740 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 742 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 744 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 746 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 748 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 750 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (736) */

+			0x5b,		/* FC_END */

+/* 754 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 756 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0xa ),	/* Offset= 10 (770) */

+/* 762 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 764 */	0x36,		/* FC_POINTER */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 766 */	0x0,		/* 0 */

+			NdrFcShort( 0xffe7 ),	/* Offset= -25 (742) */

+			0x5b,		/* FC_END */

+/* 770 */	

+			0x11, 0x0,	/* FC_RP */

+/* 772 */	NdrFcShort( 0xff12 ),	/* Offset= -238 (534) */

+/* 774 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 776 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 778 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 782 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 784 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 786 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 788 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 790 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 792 */	NdrFcShort( 0x6 ),	/* Offset= 6 (798) */

+/* 794 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 796 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 798 */	

+			0x13, 0x0,	/* FC_OP */

+/* 800 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (774) */

+/* 802 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 804 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 806 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 812 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 814 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 816 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 820 */	NdrFcShort( 0x6 ),	/* Offset= 6 (826) */

+/* 822 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 824 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 826 */	

+			0x13, 0x0,	/* FC_OP */

+/* 828 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (802) */

+/* 830 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 832 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 834 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 836 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 838 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 840 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 842 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 844 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x6 ),	/* Offset= 6 (854) */

+/* 850 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 852 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 854 */	

+			0x13, 0x0,	/* FC_OP */

+/* 856 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (830) */

+/* 858 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 860 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 862 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 868 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 870 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 872 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 874 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 876 */	NdrFcShort( 0x6 ),	/* Offset= 6 (882) */

+/* 878 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 880 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 882 */	

+			0x13, 0x0,	/* FC_OP */

+/* 884 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (858) */

+/* 886 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 888 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 890 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 892 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 894 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 896 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 898 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 900 */	NdrFcShort( 0xffc8 ),	/* -56 */

+/* 902 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 904 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 906 */	NdrFcShort( 0xffec ),	/* Offset= -20 (886) */

+/* 908 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 910 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 912 */	NdrFcShort( 0x38 ),	/* 56 */

+/* 914 */	NdrFcShort( 0xffec ),	/* Offset= -20 (894) */

+/* 916 */	NdrFcShort( 0x0 ),	/* Offset= 0 (916) */

+/* 918 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 920 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 922 */	0x40,		/* FC_STRUCTPAD4 */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 924 */	0x0,		/* 0 */

+			NdrFcShort( 0xfe0f ),	/* Offset= -497 (428) */

+			0x5b,		/* FC_END */

+/* 928 */	

+			0x13, 0x0,	/* FC_OP */

+/* 930 */	NdrFcShort( 0xff04 ),	/* Offset= -252 (678) */

+/* 932 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 934 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 936 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 938 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 940 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 942 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 944 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 946 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 948 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 950 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 952 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 954 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 956 */	

+			0x13, 0x0,	/* FC_OP */

+/* 958 */	NdrFcShort( 0xfdce ),	/* Offset= -562 (396) */

+/* 960 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 962 */	NdrFcShort( 0xfc44 ),	/* Offset= -956 (6) */

+/* 964 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 966 */	NdrFcShort( 0xfdcc ),	/* Offset= -564 (402) */

+/* 968 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 970 */	NdrFcShort( 0xfc68 ),	/* Offset= -920 (50) */

+/* 972 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 974 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (420) */

+/* 976 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 978 */	NdrFcShort( 0x2 ),	/* Offset= 2 (980) */

+/* 980 */	

+			0x13, 0x0,	/* FC_OP */

+/* 982 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1002) */

+/* 984 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 986 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 988 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 990 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 992 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 994 */	

+			0x13, 0x0,	/* FC_OP */

+/* 996 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (984) */

+/* 998 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1000 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1004 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1006 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1008 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1008) */

+/* 1010 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1012 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1014 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1016 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1018 */	NdrFcShort( 0xfc68 ),	/* Offset= -920 (98) */

+/* 1020 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1022 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1024 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1026 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1030 */	NdrFcShort( 0xfc58 ),	/* Offset= -936 (94) */

+/* 1032 */	

+			0x11, 0x0,	/* FC_RP */

+/* 1034 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1040) */

+/* 1036 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1038 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (1002) */

+/* 1040 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1042 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1044 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1036) */

+/* 1050 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1052 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1054 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1056 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1058) */

+/* 1058 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1060 */	NdrFcLong( 0x2a7d2ae7 ),	/* 712846055 */

+/* 1064 */	NdrFcShort( 0x8eee ),	/* -28946 */

+/* 1066 */	NdrFcShort( 0x45b4 ),	/* 17844 */

+/* 1068 */	0xb1,		/* 177 */

+			0x7f,		/* 127 */

+/* 1070 */	0x31,		/* 49 */

+			0xda,		/* 218 */

+/* 1072 */	0xac,		/* 172 */

+			0x82,		/* 130 */

+/* 1074 */	0xcc,		/* 204 */

+			0xbb,		/* 187 */

+/* 1076 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1078 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 1080 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1082 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1084) */

+/* 1084 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1086 */	NdrFcLong( 0xcc2ccd05 ),	/* -869479163 */

+/* 1090 */	NdrFcShort( 0x119c ),	/* 4508 */

+/* 1092 */	NdrFcShort( 0x44e1 ),	/* 17633 */

+/* 1094 */	0x85,		/* 133 */

+			0x2d,		/* 45 */

+/* 1096 */	0x6d,		/* 109 */

+			0xcc,		/* 204 */

+/* 1098 */	0x2d,		/* 45 */

+			0xfb,		/* 251 */

+/* 1100 */	0x72,		/* 114 */

+			0xec,		/* 236 */

+/* 1102 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1104 */	

+			0x25,		/* FC_C_WSTRING */

+			0x5c,		/* FC_PAD */

+/* 1106 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1108 */	0xb9,		/* FC_UINT3264 */

+			0x5c,		/* FC_PAD */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Standard interface: __MIDL_itf_updater_legacy_idl_system_0000_0000, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IAppVersionWeb, ver. 0.0,

+   GUID={0xAA10D17D,0x7A09,0x48AC,{0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    38,

+    76

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebProxyVtbl = 

+{

+    &IAppVersionWeb_ProxyInfo,

+    &IID_IAppVersionWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebStubVtbl =

+{

+    &IID_IAppVersionWeb,

+    &IAppVersionWeb_ServerInfo,

+    10,

+    &IAppVersionWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppVersionWebSystem, ver. 0.0,

+   GUID={0x9367601E,0xC100,0x4702,{0x87,0x55,0x80,0x8D,0x6B,0xB3,0x85,0xD8}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    38,

+    76

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebSystemProxyVtbl = 

+{

+    &IAppVersionWebSystem_ProxyInfo,

+    &IID_IAppVersionWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebSystem::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebSystem::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebSystem::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebSystemStubVtbl =

+{

+    &IID_IAppVersionWebSystem,

+    &IAppVersionWebSystem_ServerInfo,

+    10,

+    &IAppVersionWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentState, ver. 0.0,

+   GUID={0xA643508B,0xB1E3,0x4457,{0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    158,

+    196,

+    234,

+    272,

+    310,

+    348,

+    386,

+    424,

+    462,

+    500,

+    538,

+    576,

+    614,

+    652,

+    690,

+    728

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateProxyVtbl = 

+{

+    &ICurrentState_ProxyInfo,

+    &IID_ICurrentState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateStubVtbl =

+{

+    &IID_ICurrentState,

+    &ICurrentState_ServerInfo,

+    24,

+    &ICurrentState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentStateSystem, ver. 0.0,

+   GUID={0x71CBC6BB,0xCA4B,0x4B5A,{0x83,0xC0,0xFC,0x95,0xF9,0xCA,0x6A,0x30}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentStateSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    158,

+    196,

+    234,

+    272,

+    310,

+    348,

+    386,

+    424,

+    462,

+    500,

+    538,

+    576,

+    614,

+    652,

+    690,

+    728

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentStateSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentStateSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateSystemProxyVtbl = 

+{

+    &ICurrentStateSystem_ProxyInfo,

+    &IID_ICurrentStateSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentStateSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateSystemStubVtbl =

+{

+    &IID_ICurrentStateSystem,

+    &ICurrentStateSystem_ServerInfo,

+    24,

+    &ICurrentStateSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3Web, ver. 0.0,

+   GUID={0xA35E1C5E,0x0A18,0x4FF1,{0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3Web_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    766

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebProxyVtbl = 

+{

+    &IGoogleUpdate3Web_ProxyInfo,

+    &IID_IGoogleUpdate3Web,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3Web::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3Web_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebStubVtbl =

+{

+    &IID_IGoogleUpdate3Web,

+    &IGoogleUpdate3Web_ServerInfo,

+    8,

+    &IGoogleUpdate3Web_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3WebSystem, ver. 0.0,

+   GUID={0xAE5F8C9D,0xB94D,0x4367,{0xA4,0x22,0xD1,0xDC,0x4E,0x91,0x3A,0x52}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3WebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    766

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3WebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebSystemProxyVtbl = 

+{

+    &IGoogleUpdate3WebSystem_ProxyInfo,

+    &IID_IGoogleUpdate3WebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3WebSystem::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3WebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebSystemStubVtbl =

+{

+    &IID_IGoogleUpdate3WebSystem,

+    &IGoogleUpdate3WebSystem_ServerInfo,

+    8,

+    &IGoogleUpdate3WebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWeb, ver. 0.0,

+   GUID={0x0569DBB9,0xBAA0,0x48D5,{0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    804,

+    860,

+    898,

+    930,

+    968,

+    1006,

+    348,

+    1044,

+    1088,

+    1120,

+    1152,

+    1184,

+    1216,

+    1248,

+    1280,

+    1312,

+    1356

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebProxyVtbl = 

+{

+    &IAppBundleWeb_ProxyInfo,

+    &IID_IAppBundleWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebStubVtbl =

+{

+    &IID_IAppBundleWeb,

+    &IAppBundleWeb_ServerInfo,

+    24,

+    &IAppBundleWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWebSystem, ver. 0.0,

+   GUID={0xBFFD766D,0xA2DD,0x436E,{0x89,0xFA,0xBF,0x05,0xBC,0x5B,0x59,0x58}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    804,

+    860,

+    898,

+    930,

+    968,

+    1006,

+    348,

+    1044,

+    1088,

+    1120,

+    1152,

+    1184,

+    1216,

+    1248,

+    1280,

+    1312,

+    1356

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebSystemProxyVtbl = 

+{

+    &IAppBundleWebSystem_ProxyInfo,

+    &IID_IAppBundleWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebSystemStubVtbl =

+{

+    &IID_IAppBundleWebSystem,

+    &IAppBundleWebSystem_ServerInfo,

+    24,

+    &IAppBundleWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWeb, ver. 0.0,

+   GUID={0x63D941DE,0xF67B,0x4E15,{0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1394,

+    1432,

+    1470,

+    1514,

+    1546,

+    1584,

+    1616,

+    1648,

+    1686

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebProxyVtbl = 

+{

+    &IAppWeb_ProxyInfo,

+    &IID_IAppWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebStubVtbl =

+{

+    &IID_IAppWeb,

+    &IAppWeb_ServerInfo,

+    17,

+    &IAppWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWebSystem, ver. 0.0,

+   GUID={0x540B227A,0xF442,0x45D5,{0xBA,0x52,0x29,0x8A,0x05,0xBA,0xF1,0xA8}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1394,

+    1432,

+    1470,

+    1514,

+    1546,

+    1584,

+    1616,

+    1648,

+    1686

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebSystemProxyVtbl = 

+{

+    &IAppWebSystem_ProxyInfo,

+    &IID_IAppWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebSystemStubVtbl =

+{

+    &IID_IAppWebSystem,

+    &IAppWebSystem_ServerInfo,

+    17,

+    &IAppWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWeb, ver. 0.0,

+   GUID={0x10A2D03F,0x8BC7,0x49DB,{0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    38,

+    1724,

+    1762

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebProxyVtbl = 

+{

+    &IAppCommandWeb_ProxyInfo,

+    &IID_IAppCommandWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebStubVtbl =

+{

+    &IID_IAppCommandWeb,

+    &IAppCommandWeb_ServerInfo,

+    11,

+    &IAppCommandWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWebSystem, ver. 0.0,

+   GUID={0xC6E2C5D5,0x86FA,0x4A64,{0x9D,0x08,0x8C,0x9B,0x64,0x4F,0x0E,0x49}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    38,

+    1724,

+    1762

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebSystemProxyVtbl = 

+{

+    &IAppCommandWebSystem_ProxyInfo,

+    &IID_IAppCommandWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebSystemStubVtbl =

+{

+    &IID_IAppCommandWebSystem,

+    &IAppCommandWebSystem_ServerInfo,

+    11,

+    &IAppCommandWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus, ver. 0.0,

+   GUID={0x6A54FE75,0xEDC8,0x404E,{0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    1848,

+    1724,

+    234,

+    272,

+    1904,

+    1948,

+    1992,

+    2036

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusProxyVtbl = 

+{

+    &IPolicyStatus_ProxyInfo,

+    &IID_IPolicyStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusStubVtbl =

+{

+    &IID_IPolicyStatus,

+    &IPolicyStatus_ServerInfo,

+    16,

+    &IPolicyStatus_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusSystem, ver. 0.0,

+   GUID={0xF3964464,0xA939,0x44D3,{0x92,0x44,0x36,0xBD,0x2E,0x36,0x30,0xB8}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    1848,

+    1724,

+    234,

+    272,

+    1904,

+    1948,

+    1992,

+    2036

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusSystemProxyVtbl = 

+{

+    &IPolicyStatusSystem_ProxyInfo,

+    &IID_IPolicyStatusSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusSystemStubVtbl =

+{

+    &IID_IPolicyStatusSystem,

+    &IPolicyStatusSystem_ServerInfo,

+    16,

+    &IPolicyStatusSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValue, ver. 0.0,

+   GUID={0x2A7D2AE7,0x8EEE,0x45B4,{0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValue_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    158,

+    2080,

+    930,

+    2118

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueProxyVtbl = 

+{

+    &IPolicyStatusValue_ProxyInfo,

+    &IID_IPolicyStatusValue,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValue_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueStubVtbl =

+{

+    &IID_IPolicyStatusValue,

+    &IPolicyStatusValue_ServerInfo,

+    12,

+    &IPolicyStatusValue_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValueSystem, ver. 0.0,

+   GUID={0xCC2CCD05,0x119C,0x44E1,{0x85,0x2D,0x6D,0xCC,0x2D,0xFB,0x72,0xEC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValueSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    158,

+    2080,

+    930,

+    2118

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValueSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueSystemProxyVtbl = 

+{

+    &IPolicyStatusValueSystem_ProxyInfo,

+    &IID_IPolicyStatusValueSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValueSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueSystemStubVtbl =

+{

+    &IID_IPolicyStatusValueSystem,

+    &IPolicyStatusValueSystem_ServerInfo,

+    12,

+    &IPolicyStatusValueSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2, ver. 0.0,

+   GUID={0x06A6AA1E,0x2680,0x4076,{0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2156,

+    898,

+    2194,

+    2232,

+    2276,

+    2314,

+    2352,

+    2390,

+    2428,

+    2466,

+    2504,

+    2548,

+    2592,

+    2636,

+    2680

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2ProxyVtbl = 

+{

+    &IPolicyStatus2_ProxyInfo,

+    &IID_IPolicyStatus2,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2StubVtbl =

+{

+    &IID_IPolicyStatus2,

+    &IPolicyStatus2_ServerInfo,

+    23,

+    &IPolicyStatus2_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2System, ver. 0.0,

+   GUID={0xF4A0362A,0x3702,0x48B8,{0x98,0x96,0x7D,0x80,0x13,0xD0,0x3A,0xB2}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2System_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2156,

+    898,

+    2724,

+    2762,

+    2806,

+    2844,

+    2882,

+    2920,

+    2958,

+    2996,

+    3034,

+    3078,

+    3122,

+    3166,

+    3210

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2System_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2System_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2SystemProxyVtbl = 

+{

+    &IPolicyStatus2System_ProxyInfo,

+    &IID_IPolicyStatus2System,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2System_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2SystemStubVtbl =

+{

+    &IID_IPolicyStatus2System,

+    &IPolicyStatus2System_ServerInfo,

+    23,

+    &IPolicyStatus2System_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3, ver. 0.0,

+   GUID={0x029BD175,0x5035,0x4E2A,{0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2156,

+    898,

+    2194,

+    2232,

+    2276,

+    2314,

+    2352,

+    2390,

+    2428,

+    2466,

+    2504,

+    2548,

+    2592,

+    2636,

+    2680,

+    3254

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3ProxyVtbl = 

+{

+    &IPolicyStatus3_ProxyInfo,

+    &IID_IPolicyStatus3,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3StubVtbl =

+{

+    &IID_IPolicyStatus3,

+    &IPolicyStatus3_ServerInfo,

+    24,

+    &IPolicyStatus3_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3System, ver. 0.0,

+   GUID={0x7B26CC23,0xB2B8,0x441B,{0xAA,0x9C,0x8B,0x55,0x1A,0xBB,0x61,0x1B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3System_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2156,

+    898,

+    2724,

+    2762,

+    2806,

+    2844,

+    2882,

+    2920,

+    2958,

+    2996,

+    3034,

+    3078,

+    3122,

+    3166,

+    3210,

+    3298

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3System_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3System_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3SystemProxyVtbl = 

+{

+    &IPolicyStatus3System_ProxyInfo,

+    &IID_IPolicyStatus3System,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3System::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3System_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3SystemStubVtbl =

+{

+    &IID_IPolicyStatus3System,

+    &IPolicyStatus3System_ServerInfo,

+    24,

+    &IPolicyStatus3System_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IProcessLauncher, ver. 0.0,

+   GUID={0x4779D540,0xF6A3,0x455F,{0xA9,0x29,0x7A,0xDF,0xE8,0x5B,0x6F,0x09}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IProcessLauncher_FormatStringOffsetTable[] =

+    {

+    3342,

+    3380,

+    3424

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IProcessLauncher_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IProcessLauncher_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(6) _IProcessLauncherProxyVtbl = 

+{

+    &IProcessLauncher_ProxyInfo,

+    &IID_IProcessLauncher,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdLine */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchBrowser */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdElevated */

+};

+

+const CInterfaceStubVtbl _IProcessLauncherStubVtbl =

+{

+    &IID_IProcessLauncher,

+    &IProcessLauncher_ServerInfo,

+    6,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IProcessLauncher2, ver. 0.0,

+   GUID={0x74F243B8,0x75D1,0x4E2D,{0xBC,0x89,0x56,0x89,0x79,0x8E,0xEF,0x3E}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IProcessLauncher2_FormatStringOffsetTable[] =

+    {

+    3342,

+    3380,

+    3424,

+    3480

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IProcessLauncher2_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IProcessLauncher2_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(7) _IProcessLauncher2ProxyVtbl = 

+{

+    &IProcessLauncher2_ProxyInfo,

+    &IID_IProcessLauncher2,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdLine */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchBrowser */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdElevated */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher2::LaunchCmdLineEx */

+};

+

+const CInterfaceStubVtbl _IProcessLauncher2StubVtbl =

+{

+    &IID_IProcessLauncher2,

+    &IProcessLauncher2_ServerInfo,

+    7,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_legacy_idl_system__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_legacy_idl_system_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3SystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2SystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IProcessLauncherProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IProcessLauncher2ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_legacy_idl_system_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2StubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3SystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2SystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IProcessLauncherStubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3StubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IProcessLauncher2StubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_legacy_idl_system_InterfaceNamesList[] = 

+{

+    "IPolicyStatusValueSystem",

+    "IAppVersionWebSystem",

+    "IPolicyStatus2",

+    "IPolicyStatus3System",

+    "IPolicyStatus2System",

+    "IAppCommandWeb",

+    "IProcessLauncher",

+    "IGoogleUpdate3Web",

+    "IPolicyStatusSystem",

+    "IAppBundleWebSystem",

+    "IPolicyStatus3",

+    "IPolicyStatus",

+    "IAppWebSystem",

+    "IAppVersionWeb",

+    "ICurrentState",

+    "IGoogleUpdate3WebSystem",

+    "IProcessLauncher2",

+    "IAppBundleWeb",

+    "ICurrentStateSystem",

+    "IAppCommandWebSystem",

+    "IAppWeb",

+    "IPolicyStatusValue",

+    0

+};

+

+const IID *  const _updater_legacy_idl_system_BaseIIDList[] = 

+{

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0

+};

+

+

+#define _updater_legacy_idl_system_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_legacy_idl_system, pIID, n)

+

+int __stdcall _updater_legacy_idl_system_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_legacy_idl_system, 22, 16 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_legacy_idl_system, 22, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_legacy_idl_system_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_legacy_idl_system_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_legacy_idl_system_StubVtblList,

+    (const PCInterfaceName * ) & _updater_legacy_idl_system_InterfaceNamesList,

+    (const IID ** ) & _updater_legacy_idl_system_BaseIIDList,

+    & _updater_legacy_idl_system_IID_Lookup, 

+    22,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_AMD64)*/

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user.dlldata.c
new file mode 100644
index 0000000..32bacec
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_legacy_idl_user )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_legacy_idl_user ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user.h
new file mode 100644
index 0000000..f48fde5
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user.h
@@ -0,0 +1,5256 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_legacy_idl_user_h__

+#define __updater_legacy_idl_user_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebUser_FWD_DEFINED__

+#define __IAppVersionWebUser_FWD_DEFINED__

+typedef interface IAppVersionWebUser IAppVersionWebUser;

+

+#endif 	/* __IAppVersionWebUser_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateUser_FWD_DEFINED__

+#define __ICurrentStateUser_FWD_DEFINED__

+typedef interface ICurrentStateUser ICurrentStateUser;

+

+#endif 	/* __ICurrentStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebUser_FWD_DEFINED__

+#define __IGoogleUpdate3WebUser_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebUser IGoogleUpdate3WebUser;

+

+#endif 	/* __IGoogleUpdate3WebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebUser_FWD_DEFINED__

+#define __IAppBundleWebUser_FWD_DEFINED__

+typedef interface IAppBundleWebUser IAppBundleWebUser;

+

+#endif 	/* __IAppBundleWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebUser_FWD_DEFINED__

+#define __IAppWebUser_FWD_DEFINED__

+typedef interface IAppWebUser IAppWebUser;

+

+#endif 	/* __IAppWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebUser_FWD_DEFINED__

+#define __IAppCommandWebUser_FWD_DEFINED__

+typedef interface IAppCommandWebUser IAppCommandWebUser;

+

+#endif 	/* __IAppCommandWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusUser_FWD_DEFINED__

+#define __IPolicyStatusUser_FWD_DEFINED__

+typedef interface IPolicyStatusUser IPolicyStatusUser;

+

+#endif 	/* __IPolicyStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueUser_FWD_DEFINED__

+#define __IPolicyStatusValueUser_FWD_DEFINED__

+typedef interface IPolicyStatusValueUser IPolicyStatusValueUser;

+

+#endif 	/* __IPolicyStatusValueUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2User_FWD_DEFINED__

+#define __IPolicyStatus2User_FWD_DEFINED__

+typedef interface IPolicyStatus2User IPolicyStatus2User;

+

+#endif 	/* __IPolicyStatus2User_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3User_FWD_DEFINED__

+#define __IPolicyStatus3User_FWD_DEFINED__

+typedef interface IPolicyStatus3User IPolicyStatus3User;

+

+#endif 	/* __IPolicyStatus3User_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebUserClass_FWD_DEFINED__

+#define __GoogleUpdate3WebUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#else

+typedef struct GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebUserClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+#define __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#else

+typedef struct GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+#define __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#else

+typedef struct GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebServiceClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusUserClass_FWD_DEFINED__

+#define __PolicyStatusUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusUserClass PolicyStatusUserClass;

+#else

+typedef struct PolicyStatusUserClass PolicyStatusUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusUserClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusSystemClass_FWD_DEFINED__

+#define __PolicyStatusSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusSystemClass PolicyStatusSystemClass;

+#else

+typedef struct PolicyStatusSystemClass PolicyStatusSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __ProcessLauncherClass_FWD_DEFINED__

+#define __ProcessLauncherClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class ProcessLauncherClass ProcessLauncherClass;

+#else

+typedef struct ProcessLauncherClass ProcessLauncherClass;

+#endif /* __cplusplus */

+

+#endif 	/* __ProcessLauncherClass_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebUser_FWD_DEFINED__

+#define __IAppVersionWebUser_FWD_DEFINED__

+typedef interface IAppVersionWebUser IAppVersionWebUser;

+

+#endif 	/* __IAppVersionWebUser_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateUser_FWD_DEFINED__

+#define __ICurrentStateUser_FWD_DEFINED__

+typedef interface ICurrentStateUser ICurrentStateUser;

+

+#endif 	/* __ICurrentStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebUser_FWD_DEFINED__

+#define __IGoogleUpdate3WebUser_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebUser IGoogleUpdate3WebUser;

+

+#endif 	/* __IGoogleUpdate3WebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebUser_FWD_DEFINED__

+#define __IAppBundleWebUser_FWD_DEFINED__

+typedef interface IAppBundleWebUser IAppBundleWebUser;

+

+#endif 	/* __IAppBundleWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebUser_FWD_DEFINED__

+#define __IAppWebUser_FWD_DEFINED__

+typedef interface IAppWebUser IAppWebUser;

+

+#endif 	/* __IAppWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebUser_FWD_DEFINED__

+#define __IAppCommandWebUser_FWD_DEFINED__

+typedef interface IAppCommandWebUser IAppCommandWebUser;

+

+#endif 	/* __IAppCommandWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusUser_FWD_DEFINED__

+#define __IPolicyStatusUser_FWD_DEFINED__

+typedef interface IPolicyStatusUser IPolicyStatusUser;

+

+#endif 	/* __IPolicyStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueUser_FWD_DEFINED__

+#define __IPolicyStatusValueUser_FWD_DEFINED__

+typedef interface IPolicyStatusValueUser IPolicyStatusValueUser;

+

+#endif 	/* __IPolicyStatusValueUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2User_FWD_DEFINED__

+#define __IPolicyStatus2User_FWD_DEFINED__

+typedef interface IPolicyStatus2User IPolicyStatus2User;

+

+#endif 	/* __IPolicyStatus2User_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3User_FWD_DEFINED__

+#define __IPolicyStatus3User_FWD_DEFINED__

+typedef interface IPolicyStatus3User IPolicyStatus3User;

+

+#endif 	/* __IPolicyStatus3User_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+/* interface __MIDL_itf_updater_legacy_idl_user_0000_0000 */

+/* [local] */ 

+

+typedef 

+enum CurrentState

+    {

+        STATE_INIT	= 1,

+        STATE_WAITING_TO_CHECK_FOR_UPDATE	= 2,

+        STATE_CHECKING_FOR_UPDATE	= 3,

+        STATE_UPDATE_AVAILABLE	= 4,

+        STATE_WAITING_TO_DOWNLOAD	= 5,

+        STATE_RETRYING_DOWNLOAD	= 6,

+        STATE_DOWNLOADING	= 7,

+        STATE_DOWNLOAD_COMPLETE	= 8,

+        STATE_EXTRACTING	= 9,

+        STATE_APPLYING_DIFFERENTIAL_PATCH	= 10,

+        STATE_READY_TO_INSTALL	= 11,

+        STATE_WAITING_TO_INSTALL	= 12,

+        STATE_INSTALLING	= 13,

+        STATE_INSTALL_COMPLETE	= 14,

+        STATE_PAUSED	= 15,

+        STATE_NO_UPDATE	= 16,

+        STATE_ERROR	= 17

+    } 	CurrentState;

+

+

+enum AppCommandStatus

+    {

+        COMMAND_STATUS_INIT	= 1,

+        COMMAND_STATUS_RUNNING	= 2,

+        COMMAND_STATUS_ERROR	= 3,

+        COMMAND_STATUS_COMPLETE	= 4

+    } ;

+

+

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_user_0000_0000_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_user_0000_0000_v0_0_s_ifspec;

+

+#ifndef __IAppVersionWeb_INTERFACE_DEFINED__

+#define __IAppVersionWeb_INTERFACE_DEFINED__

+

+/* interface IAppVersionWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AA10D17D-7A09-48AC-B1E4-F124937E3D26")

+    IAppVersionWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWeb * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebVtbl;

+

+    interface IAppVersionWeb

+    {

+        CONST_VTBL struct IAppVersionWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWeb_get_version(This,__MIDL__IAppVersionWeb0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWeb0000) ) 

+

+#define IAppVersionWeb_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWeb_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppVersionWebUser_INTERFACE_DEFINED__

+#define __IAppVersionWebUser_INTERFACE_DEFINED__

+

+/* interface IAppVersionWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AC817E10-993C-470F-8DCA-25F53D70EA8D")

+    IAppVersionWebUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebUser, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebUser, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWebUser * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebUser, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWebUser * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebUserVtbl;

+

+    interface IAppVersionWebUser

+    {

+        CONST_VTBL struct IAppVersionWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWebUser_get_version(This,__MIDL__IAppVersionWebUser0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWebUser0000) ) 

+

+#define IAppVersionWebUser_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWebUser_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentState_INTERFACE_DEFINED__

+#define __ICurrentState_INTERFACE_DEFINED__

+

+/* interface ICurrentState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A643508B-B1E3-4457-9769-32C953BD1D57")

+    ICurrentState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentState * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015);

+        

+        END_INTERFACE

+    } ICurrentStateVtbl;

+

+    interface ICurrentState

+    {

+        CONST_VTBL struct ICurrentStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentState_get_stateValue(This,__MIDL__ICurrentState0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentState0000) ) 

+

+#define ICurrentState_get_availableVersion(This,__MIDL__ICurrentState0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentState0001) ) 

+

+#define ICurrentState_get_bytesDownloaded(This,__MIDL__ICurrentState0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentState0002) ) 

+

+#define ICurrentState_get_totalBytesToDownload(This,__MIDL__ICurrentState0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentState0003) ) 

+

+#define ICurrentState_get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004) ) 

+

+#define ICurrentState_get_nextRetryTime(This,__MIDL__ICurrentState0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentState0005) ) 

+

+#define ICurrentState_get_installProgress(This,__MIDL__ICurrentState0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentState0006) ) 

+

+#define ICurrentState_get_installTimeRemainingMs(This,__MIDL__ICurrentState0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentState0007) ) 

+

+#define ICurrentState_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentState_get_errorCode(This,__MIDL__ICurrentState0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentState0008) ) 

+

+#define ICurrentState_get_extraCode1(This,__MIDL__ICurrentState0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentState0009) ) 

+

+#define ICurrentState_get_completionMessage(This,__MIDL__ICurrentState0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentState0010) ) 

+

+#define ICurrentState_get_installerResultCode(This,__MIDL__ICurrentState0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentState0011) ) 

+

+#define ICurrentState_get_installerResultExtraCode1(This,__MIDL__ICurrentState0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentState0012) ) 

+

+#define ICurrentState_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013) ) 

+

+#define ICurrentState_get_postInstallUrl(This,__MIDL__ICurrentState0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentState0014) ) 

+

+#define ICurrentState_get_postInstallAction(This,__MIDL__ICurrentState0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentState0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentState_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentStateUser_INTERFACE_DEFINED__

+#define __ICurrentStateUser_INTERFACE_DEFINED__

+

+/* interface ICurrentStateUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentStateUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("31479718-D170-467B-9274-27FC3E88CB76")

+    ICurrentStateUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateUser0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentStateUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentStateUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentStateUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateUser0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0015);

+        

+        END_INTERFACE

+    } ICurrentStateUserVtbl;

+

+    interface ICurrentStateUser

+    {

+        CONST_VTBL struct ICurrentStateUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentStateUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentStateUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentStateUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentStateUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentStateUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentStateUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentStateUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentStateUser_get_stateValue(This,__MIDL__ICurrentStateUser0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentStateUser0000) ) 

+

+#define ICurrentStateUser_get_availableVersion(This,__MIDL__ICurrentStateUser0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentStateUser0001) ) 

+

+#define ICurrentStateUser_get_bytesDownloaded(This,__MIDL__ICurrentStateUser0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentStateUser0002) ) 

+

+#define ICurrentStateUser_get_totalBytesToDownload(This,__MIDL__ICurrentStateUser0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentStateUser0003) ) 

+

+#define ICurrentStateUser_get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateUser0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateUser0004) ) 

+

+#define ICurrentStateUser_get_nextRetryTime(This,__MIDL__ICurrentStateUser0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentStateUser0005) ) 

+

+#define ICurrentStateUser_get_installProgress(This,__MIDL__ICurrentStateUser0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentStateUser0006) ) 

+

+#define ICurrentStateUser_get_installTimeRemainingMs(This,__MIDL__ICurrentStateUser0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentStateUser0007) ) 

+

+#define ICurrentStateUser_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentStateUser_get_errorCode(This,__MIDL__ICurrentStateUser0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentStateUser0008) ) 

+

+#define ICurrentStateUser_get_extraCode1(This,__MIDL__ICurrentStateUser0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentStateUser0009) ) 

+

+#define ICurrentStateUser_get_completionMessage(This,__MIDL__ICurrentStateUser0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentStateUser0010) ) 

+

+#define ICurrentStateUser_get_installerResultCode(This,__MIDL__ICurrentStateUser0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentStateUser0011) ) 

+

+#define ICurrentStateUser_get_installerResultExtraCode1(This,__MIDL__ICurrentStateUser0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentStateUser0012) ) 

+

+#define ICurrentStateUser_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateUser0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateUser0013) ) 

+

+#define ICurrentStateUser_get_postInstallUrl(This,__MIDL__ICurrentStateUser0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentStateUser0014) ) 

+

+#define ICurrentStateUser_get_postInstallAction(This,__MIDL__ICurrentStateUser0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentStateUser0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentStateUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_INTERFACE_DEFINED__

+#define __IGoogleUpdate3Web_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3Web */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3Web;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A35E1C5E-0A18-4FF1-8C4D-DD8ED07B0BD0")

+    IGoogleUpdate3Web : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3Web * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3Web * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3Web, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3Web * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebVtbl;

+

+    interface IGoogleUpdate3Web

+    {

+        CONST_VTBL struct IGoogleUpdate3WebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3Web_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3Web_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3Web_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3Web_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3Web_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3Web_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3Web_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3Web_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3Web_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebUser_INTERFACE_DEFINED__

+#define __IGoogleUpdate3WebUser_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3WebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3WebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EE8EE731-C592-4A4F-9774-BB04337B8F46")

+    IGoogleUpdate3WebUser : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3WebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3WebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3WebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3WebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3WebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3WebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3WebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3WebUser, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3WebUser * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebUserVtbl;

+

+    interface IGoogleUpdate3WebUser

+    {

+        CONST_VTBL struct IGoogleUpdate3WebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3WebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3WebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3WebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3WebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3WebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3WebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3WebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3WebUser_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3WebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_INTERFACE_DEFINED__

+#define __IAppBundleWeb_INTERFACE_DEFINED__

+

+/* interface IAppBundleWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("0569DBB9-BAA0-48D5-8543-0F3BE30A1648")

+    IAppBundleWeb : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWeb * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWeb * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebVtbl;

+

+    interface IAppBundleWeb

+    {

+        CONST_VTBL struct IAppBundleWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWeb_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWeb_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWeb_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWeb_get_displayLanguage(This,__MIDL__IAppBundleWeb0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWeb0000) ) 

+

+#define IAppBundleWeb_put_displayLanguage(This,__MIDL__IAppBundleWeb0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWeb0001) ) 

+

+#define IAppBundleWeb_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWeb_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWeb_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWeb_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWeb_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWeb_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWeb_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWeb_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWeb_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWeb_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWebUser_INTERFACE_DEFINED__

+#define __IAppBundleWebUser_INTERFACE_DEFINED__

+

+/* interface IAppBundleWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("CE7A37FD-A255-460C-BAF1-708765EB76EC")

+    IAppBundleWebUser : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebUser0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWebUser0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWebUser0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWebUser * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWebUser * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWebUser * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWebUser * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebUserVtbl;

+

+    interface IAppBundleWebUser

+    {

+        CONST_VTBL struct IAppBundleWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWebUser_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWebUser_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWebUser_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWebUser_get_displayLanguage(This,__MIDL__IAppBundleWebUser0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWebUser0000) ) 

+

+#define IAppBundleWebUser_put_displayLanguage(This,__MIDL__IAppBundleWebUser0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWebUser0001) ) 

+

+#define IAppBundleWebUser_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWebUser_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWebUser_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWebUser_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWebUser_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWebUser_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWebUser_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWebUser_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWebUser_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWebUser_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWebUser_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWebUser_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWeb_INTERFACE_DEFINED__

+#define __IAppWeb_INTERFACE_DEFINED__

+

+/* interface IAppWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("63D941DE-F67B-4E15-8A90-27881DA9EF4A")

+    IAppWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWeb0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWeb * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [in] */ BSTR __MIDL__IAppWeb0002);

+        

+        END_INTERFACE

+    } IAppWebVtbl;

+

+    interface IAppWeb

+    {

+        CONST_VTBL struct IAppWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWeb_get_appId(This,__MIDL__IAppWeb0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWeb0000) ) 

+

+#define IAppWeb_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWeb_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWeb_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWeb_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWeb_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWeb_get_serverInstallDataIndex(This,__MIDL__IAppWeb0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWeb0001) ) 

+

+#define IAppWeb_put_serverInstallDataIndex(This,__MIDL__IAppWeb0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWeb0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWebUser_INTERFACE_DEFINED__

+#define __IAppWebUser_INTERFACE_DEFINED__

+

+/* interface IAppWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("47B9D508-CB72-4F8B-AF00-7D0143603B25")

+    IAppWebUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWebUser0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWebUser * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWebUser * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWebUser * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWebUser * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0001);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWebUser * This,

+            /* [in] */ BSTR __MIDL__IAppWebUser0002);

+        

+        END_INTERFACE

+    } IAppWebUserVtbl;

+

+    interface IAppWebUser

+    {

+        CONST_VTBL struct IAppWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWebUser_get_appId(This,__MIDL__IAppWebUser0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWebUser0000) ) 

+

+#define IAppWebUser_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWebUser_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWebUser_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWebUser_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWebUser_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWebUser_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWebUser_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWebUser_get_serverInstallDataIndex(This,__MIDL__IAppWebUser0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWebUser0001) ) 

+

+#define IAppWebUser_put_serverInstallDataIndex(This,__MIDL__IAppWebUser0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWebUser0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_INTERFACE_DEFINED__

+#define __IAppCommandWeb_INTERFACE_DEFINED__

+

+/* interface IAppCommandWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("10A2D03F-8BC7-49DB-A21E-A7D4429D2759")

+    IAppCommandWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWeb * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebVtbl;

+

+    interface IAppCommandWeb

+    {

+        CONST_VTBL struct IAppCommandWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWeb_get_status(This,__MIDL__IAppCommandWeb0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWeb0000) ) 

+

+#define IAppCommandWeb_get_exitCode(This,__MIDL__IAppCommandWeb0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWeb0001) ) 

+

+#define IAppCommandWeb_get_output(This,__MIDL__IAppCommandWeb0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWeb0002) ) 

+

+#define IAppCommandWeb_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWebUser_INTERFACE_DEFINED__

+#define __IAppCommandWebUser_INTERFACE_DEFINED__

+

+/* interface IAppCommandWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("5515E66F-FA6F-4D74-B5EA-4FCFDA16FE12")

+    IAppCommandWebUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebUser0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWebUser * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWebUser * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebUser0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebUser0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWebUser * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebUserVtbl;

+

+    interface IAppCommandWebUser

+    {

+        CONST_VTBL struct IAppCommandWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWebUser_get_status(This,__MIDL__IAppCommandWebUser0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWebUser0000) ) 

+

+#define IAppCommandWebUser_get_exitCode(This,__MIDL__IAppCommandWebUser0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWebUser0001) ) 

+

+#define IAppCommandWebUser_get_output(This,__MIDL__IAppCommandWebUser0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWebUser0002) ) 

+

+#define IAppCommandWebUser_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_INTERFACE_DEFINED__

+#define __IPolicyStatus_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("6A54FE75-EDC8-404E-A41B-4278C0557151")

+    IPolicyStatus : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusVtbl;

+

+    interface IPolicyStatus

+    {

+        CONST_VTBL struct IPolicyStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatus_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatus_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatus_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatus_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatus_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusUser_INTERFACE_DEFINED__

+#define __IPolicyStatusUser_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EF739C0C-40B0-478D-B76B-3659B8F2B0EB")

+    IPolicyStatusUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatusUser * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusUserVtbl;

+

+    interface IPolicyStatusUser

+    {

+        CONST_VTBL struct IPolicyStatusUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusUser_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatusUser_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatusUser_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatusUser_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatusUser_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatusUser_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatusUser_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatusUser_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatusUser_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_INTERFACE_DEFINED__

+#define __IPolicyStatusValue_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValue */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValue;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2A7D2AE7-8EEE-45B4-B17F-31DAAC82CCBB")

+    IPolicyStatusValue : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValue * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValue * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValue * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueVtbl;

+

+    interface IPolicyStatusValue

+    {

+        CONST_VTBL struct IPolicyStatusValueVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValue_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValue_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValue_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValue_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValue_get_source(This,__MIDL__IPolicyStatusValue0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValue0000) ) 

+

+#define IPolicyStatusValue_get_value(This,__MIDL__IPolicyStatusValue0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValue0001) ) 

+

+#define IPolicyStatusValue_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValue_get_conflictSource(This,__MIDL__IPolicyStatusValue0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValue0002) ) 

+

+#define IPolicyStatusValue_get_conflictValue(This,__MIDL__IPolicyStatusValue0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValue0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValue_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueUser_INTERFACE_DEFINED__

+#define __IPolicyStatusValueUser_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValueUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValueUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7E0A6B39-7CEB-4944-ABFA-F419D201D6A0")

+    IPolicyStatusValueUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValueUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValueUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValueUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValueUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValueUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValueUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValueUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueUserVtbl;

+

+    interface IPolicyStatusValueUser

+    {

+        CONST_VTBL struct IPolicyStatusValueUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValueUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValueUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValueUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValueUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValueUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValueUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValueUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValueUser_get_source(This,__MIDL__IPolicyStatusValueUser0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValueUser0000) ) 

+

+#define IPolicyStatusValueUser_get_value(This,__MIDL__IPolicyStatusValueUser0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValueUser0001) ) 

+

+#define IPolicyStatusValueUser_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValueUser_get_conflictSource(This,__MIDL__IPolicyStatusValueUser0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValueUser0002) ) 

+

+#define IPolicyStatusValueUser_get_conflictValue(This,__MIDL__IPolicyStatusValueUser0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValueUser0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValueUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_INTERFACE_DEFINED__

+#define __IPolicyStatus2_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("06A6AA1E-2680-4076-A7CD-6053722CF454")

+    IPolicyStatus2 : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2Vtbl;

+

+    interface IPolicyStatus2

+    {

+        CONST_VTBL struct IPolicyStatus2Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2User_INTERFACE_DEFINED__

+#define __IPolicyStatus2User_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2User */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2User;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AD91C851-86AC-499F-9BA9-9A561744AA4D")

+    IPolicyStatus2User : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValueUser **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2UserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2User * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2User * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2User * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2User * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2User * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2User * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2User * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2User * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2User * This,

+            /* [out] */ IPolicyStatusValueUser **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2UserVtbl;

+

+    interface IPolicyStatus2User

+    {

+        CONST_VTBL struct IPolicyStatus2UserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2User_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2User_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2User_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2User_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2User_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2User_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2User_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2User_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2User_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2User_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2User_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2User_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2User_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2User_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2User_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2User_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2User_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2User_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2User_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2User_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_INTERFACE_DEFINED__

+#define __IPolicyStatus3_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("029BD175-5035-4E2A-8724-C9D47F4FAEA3")

+    IPolicyStatus3 : public IPolicyStatus2

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3 * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3Vtbl;

+

+    interface IPolicyStatus3

+    {

+        CONST_VTBL struct IPolicyStatus3Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3User_INTERFACE_DEFINED__

+#define __IPolicyStatus3User_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3User */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3User;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("BC39E1E1-E8FA-4E72-903F-3BF346E7E165")

+    IPolicyStatus3User : public IPolicyStatus2User

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3UserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3User * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3User * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3User * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3User * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3User * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3User * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3User * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3User * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3User * This,

+            /* [out] */ IPolicyStatusValueUser **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3User, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3User * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3UserVtbl;

+

+    interface IPolicyStatus3User

+    {

+        CONST_VTBL struct IPolicyStatus3UserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3User_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3User_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3User_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3User_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3User_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3User_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3User_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3User_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3User_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3User_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3User_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3User_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3User_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3User_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3User_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3User_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3User_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3User_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3User_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3User_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3User_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLegacyLib_LIBRARY_DEFINED__

+#define __UpdaterLegacyLib_LIBRARY_DEFINED__

+

+/* library UpdaterLegacyLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLegacyLib;

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("A0FEB7CB-E0D8-4035-A4C9-5620A8C725AD")

+GoogleUpdate3WebUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("FAC5C548-84EC-474C-A4B3-CD414E09B14C")

+GoogleUpdate3WebSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebServiceClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("687DCE9A-57BE-4026-BEC4-C0A9ACBBCAF2")

+GoogleUpdate3WebServiceClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("E432DCFE-6A32-4C07-B038-9D74AC80D6AB")

+PolicyStatusUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("F675D224-BD54-40E9-AECB-AA3B64EB9863")

+PolicyStatusSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_ProcessLauncherClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("CEC2877D-4856-460E-BE73-11DD7CC7C821")

+ProcessLauncherClass;

+#endif

+#endif /* __UpdaterLegacyLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user.tlb
new file mode 100644
index 0000000..9b523e5
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user_i.c
new file mode 100644
index 0000000..43a1c24
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user_i.c
@@ -0,0 +1,157 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWeb,0xAA10D17D,0x7A09,0x48AC,0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWebUser,0xAC817E10,0x993C,0x470F,0x8D,0xCA,0x25,0xF5,0x3D,0x70,0xEA,0x8D);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentState,0xA643508B,0xB1E3,0x4457,0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentStateUser,0x31479718,0xD170,0x467B,0x92,0x74,0x27,0xFC,0x3E,0x88,0xCB,0x76);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3Web,0xA35E1C5E,0x0A18,0x4FF1,0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3WebUser,0xEE8EE731,0xC592,0x4A4F,0x97,0x74,0xBB,0x04,0x33,0x7B,0x8F,0x46);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWeb,0x0569DBB9,0xBAA0,0x48D5,0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWebUser,0xCE7A37FD,0xA255,0x460C,0xBA,0xF1,0x70,0x87,0x65,0xEB,0x76,0xEC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWeb,0x63D941DE,0xF67B,0x4E15,0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWebUser,0x47B9D508,0xCB72,0x4F8B,0xAF,0x00,0x7D,0x01,0x43,0x60,0x3B,0x25);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWeb,0x10A2D03F,0x8BC7,0x49DB,0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWebUser,0x5515E66F,0xFA6F,0x4D74,0xB5,0xEA,0x4F,0xCF,0xDA,0x16,0xFE,0x12);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus,0x6A54FE75,0xEDC8,0x404E,0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusUser,0xEF739C0C,0x40B0,0x478D,0xB7,0x6B,0x36,0x59,0xB8,0xF2,0xB0,0xEB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValue,0x2A7D2AE7,0x8EEE,0x45B4,0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValueUser,0x7E0A6B39,0x7CEB,0x4944,0xAB,0xFA,0xF4,0x19,0xD2,0x01,0xD6,0xA0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2,0x06A6AA1E,0x2680,0x4076,0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2User,0xAD91C851,0x86AC,0x499F,0x9B,0xA9,0x9A,0x56,0x17,0x44,0xAA,0x4D);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3,0x029BD175,0x5035,0x4E2A,0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3User,0xBC39E1E1,0xE8FA,0x4E72,0x90,0x3F,0x3B,0xF3,0x46,0xE7,0xE1,0x65);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLegacyLib,0x7A1FDE1F,0xAAA9,0x441B,0xB9,0xAA,0x95,0xB3,0x1D,0x78,0x59,0x2B);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebUserClass,0xA0FEB7CB,0xE0D8,0x4035,0xA4,0xC9,0x56,0x20,0xA8,0xC7,0x25,0xAD);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebSystemClass,0xFAC5C548,0x84EC,0x474C,0xA4,0xB3,0xCD,0x41,0x4E,0x09,0xB1,0x4C);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebServiceClass,0x687DCE9A,0x57BE,0x4026,0xBE,0xC4,0xC0,0xA9,0xAC,0xBB,0xCA,0xF2);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusUserClass,0xE432DCFE,0x6A32,0x4C07,0xB0,0x38,0x9D,0x74,0xAC,0x80,0xD6,0xAB);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusSystemClass,0xF675D224,0xBD54,0x40E9,0xAE,0xCB,0xAA,0x3B,0x64,0xEB,0x98,0x63);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_ProcessLauncherClass,0xCEC2877D,0x4856,0x460E,0xBE,0x73,0x11,0xDD,0x7C,0xC7,0xC8,0x21);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user_p.c
new file mode 100644
index 0000000..47dc137b
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x64/updater_legacy_idl_user_p.c
@@ -0,0 +1,6784 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_user.idl:

+    Oicf, W1, Zp8, env=Win64 (32b run), target_arch=AMD64 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if defined(_M_AMD64)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_legacy_idl_user.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1103                              

+#define PROC_FORMAT_STRING_SIZE   3343                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_user_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_user_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_user__MIDL_TypeFormatString;

+extern const updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING updater_legacy_idl_user__MIDL_ProcFormatString;

+extern const updater_legacy_idl_user_MIDL_EXPR_FORMAT_STRING updater_legacy_idl_user__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentStateUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentStateUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3WebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValueUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2User_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2User_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3User_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3User_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_WIN64__)

+#error  Invalid build platform for this stub.

+#endif

+

+static const updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING updater_legacy_idl_user__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x7 ),	/* 7 */

+/*  8 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 18 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 24 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0000 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0000 */

+

+

+	/* Parameter __MIDL__IAppWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppWeb0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWeb0000 */

+

+/* 26 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 28 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 30 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 32 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 34 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 36 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_packageCount */

+

+

+	/* Procedure get_packageCount */

+

+/* 38 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 40 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 46 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 48 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 50 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 52 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 54 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 62 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppCommandWebUser0001 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0001 */

+

+

+	/* Parameter count */

+

+

+	/* Parameter count */

+

+/* 64 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 66 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 68 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 70 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 72 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 74 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageWeb */

+

+

+	/* Procedure get_packageWeb */

+

+/* 76 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 78 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 82 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 84 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 86 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 88 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 90 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 92 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 96 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 98 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 100 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 102 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 104 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 106 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter package */

+

+

+	/* Parameter package */

+

+/* 108 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 110 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 112 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 114 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 116 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 118 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_stateValue */

+

+

+	/* Procedure get_stateValue */

+

+/* 120 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 122 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 126 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 128 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 130 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 132 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 134 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 136 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 138 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 144 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter minutes */

+

+

+	/* Parameter minutes */

+

+

+	/* Parameter __MIDL__IAppCommandWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0000 */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0000 */

+

+

+	/* Parameter __MIDL__ICurrentState0000 */

+

+/* 146 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 148 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 152 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 154 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 156 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_availableVersion */

+

+

+	/* Procedure get_availableVersion */

+

+/* 158 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 160 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 166 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 168 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 170 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 172 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 174 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 176 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 178 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 180 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 182 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0001 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0001 */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0001 */

+

+

+	/* Parameter __MIDL__ICurrentState0001 */

+

+/* 184 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 186 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 188 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 190 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 192 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 194 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_bytesDownloaded */

+

+

+	/* Procedure get_bytesDownloaded */

+

+/* 196 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 198 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 202 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 204 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 206 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 208 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 210 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 212 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 214 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 216 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 218 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 220 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0002 */

+

+

+	/* Parameter __MIDL__ICurrentState0002 */

+

+/* 222 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 224 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 226 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 228 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 230 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 232 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+/* 234 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 236 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 240 */	NdrFcShort( 0xa ),	/* 10 */

+/* 242 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 244 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 246 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 248 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 250 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 254 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 256 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 258 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter limit */

+

+

+	/* Parameter limit */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0003 */

+

+

+	/* Parameter __MIDL__ICurrentState0003 */

+

+/* 260 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 262 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 264 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 266 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 268 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 270 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+/* 272 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 274 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 278 */	NdrFcShort( 0xb ),	/* 11 */

+/* 280 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 282 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 284 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 286 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 288 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 290 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 292 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 296 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter days */

+

+

+	/* Parameter days */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0004 */

+

+

+	/* Parameter __MIDL__ICurrentState0004 */

+

+/* 298 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 300 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 302 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 304 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 306 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 308 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextRetryTime */

+

+

+	/* Procedure get_nextRetryTime */

+

+/* 310 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 312 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 316 */	NdrFcShort( 0xc ),	/* 12 */

+/* 318 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 322 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 324 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 326 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 328 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 332 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 334 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0005 */

+

+

+	/* Parameter __MIDL__ICurrentState0005 */

+

+/* 336 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 338 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 340 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 342 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 344 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 346 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 348 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 350 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 354 */	NdrFcShort( 0xd ),	/* 13 */

+/* 356 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 358 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 360 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 362 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 364 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 366 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 368 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 370 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 372 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0006 */

+

+

+	/* Parameter __MIDL__ICurrentState0006 */

+

+/* 374 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 376 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 378 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 380 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 382 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 384 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installTimeRemainingMs */

+

+

+	/* Procedure get_installTimeRemainingMs */

+

+/* 386 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 388 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 392 */	NdrFcShort( 0xe ),	/* 14 */

+/* 394 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 396 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 398 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 400 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 402 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 406 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 410 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0007 */

+

+

+	/* Parameter __MIDL__ICurrentState0007 */

+

+/* 412 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 414 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 416 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 418 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 420 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 422 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isCanceled */

+

+

+	/* Procedure get_isCanceled */

+

+/* 424 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 426 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 430 */	NdrFcShort( 0xf ),	/* 15 */

+/* 432 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 434 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 436 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 438 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 440 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 448 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_canceled */

+

+

+	/* Parameter is_canceled */

+

+/* 450 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 452 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 454 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 456 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 458 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 460 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 462 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 464 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 468 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 470 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 472 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 474 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 476 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 478 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 480 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 482 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 486 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0008 */

+

+

+	/* Parameter __MIDL__ICurrentState0008 */

+

+/* 488 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 490 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 492 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 494 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 496 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 498 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 500 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 502 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 506 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 508 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 510 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 512 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 514 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 516 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 518 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 524 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0009 */

+

+

+	/* Parameter __MIDL__ICurrentState0009 */

+

+/* 526 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 528 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 530 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 532 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 534 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 536 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_completionMessage */

+

+

+	/* Procedure get_completionMessage */

+

+/* 538 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 540 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 544 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 546 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 550 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 552 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 554 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 556 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 562 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0010 */

+

+

+	/* Parameter __MIDL__ICurrentState0010 */

+

+/* 564 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 566 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 568 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 570 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 572 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 574 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultCode */

+

+

+	/* Procedure get_installerResultCode */

+

+/* 576 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 578 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 582 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 584 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 588 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 590 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 592 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 596 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 598 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 600 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0011 */

+

+

+	/* Parameter __MIDL__ICurrentState0011 */

+

+/* 602 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 604 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 606 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 608 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 610 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 612 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultExtraCode1 */

+

+

+	/* Procedure get_installerResultExtraCode1 */

+

+/* 614 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 616 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 620 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 622 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 624 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 626 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 628 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 630 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 638 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0012 */

+

+

+	/* Parameter __MIDL__ICurrentState0012 */

+

+/* 640 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 642 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 644 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 646 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 648 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 650 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+/* 652 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 654 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 658 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 660 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 662 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 664 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 666 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 668 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 670 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 672 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 674 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 676 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0013 */

+

+

+	/* Parameter __MIDL__ICurrentState0013 */

+

+/* 678 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 680 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 682 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 684 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 686 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 688 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallUrl */

+

+

+	/* Procedure get_postInstallUrl */

+

+/* 690 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 692 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 698 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 704 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 706 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 708 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 714 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0014 */

+

+

+	/* Parameter __MIDL__ICurrentState0014 */

+

+/* 716 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 718 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 720 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 722 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 724 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 726 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallAction */

+

+

+	/* Procedure get_postInstallAction */

+

+/* 728 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 730 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 734 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 736 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 738 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 740 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 742 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 744 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 748 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 750 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 752 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0015 */

+

+

+	/* Parameter __MIDL__ICurrentState0015 */

+

+/* 754 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 756 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 758 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 760 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 762 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 764 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createAppBundleWeb */

+

+

+	/* Procedure createAppBundleWeb */

+

+/* 766 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 768 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 772 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 774 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 776 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 778 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 780 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 782 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 786 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 788 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 790 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_bundle_web */

+

+

+	/* Parameter app_bundle_web */

+

+/* 792 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 794 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 796 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 798 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 800 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 802 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createApp */

+

+

+	/* Procedure createApp */

+

+/* 804 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 806 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 812 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 814 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 816 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 818 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 820 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 822 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 824 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 828 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_guid */

+

+

+	/* Parameter app_guid */

+

+/* 830 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 832 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 834 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter brand_code */

+

+

+	/* Parameter brand_code */

+

+/* 836 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 838 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 840 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter language */

+

+

+	/* Parameter language */

+

+/* 842 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 844 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 846 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter ap */

+

+

+	/* Parameter ap */

+

+/* 848 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 850 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 852 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 854 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 856 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 858 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createInstalledApp */

+

+

+	/* Procedure createInstalledApp */

+

+/* 860 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 862 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 868 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 870 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 872 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 874 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 876 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 878 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 880 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 882 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 884 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 886 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 888 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 890 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 892 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 894 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 896 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure createAllInstalledApps */

+

+

+	/* Procedure createAllInstalledApps */

+

+/* 898 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 900 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 904 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 906 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 908 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 910 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 912 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 914 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 916 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 918 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 920 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 922 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 924 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 926 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 928 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_displayLanguage */

+

+

+	/* Procedure get_displayLanguage */

+

+/* 930 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 932 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 936 */	NdrFcShort( 0xa ),	/* 10 */

+/* 938 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 940 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 942 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 944 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 946 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 948 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 950 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 952 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 954 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0002 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0002 */

+

+

+	/* Parameter __MIDL__IAppBundleWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0000 */

+

+/* 956 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 958 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 960 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 962 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 964 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 966 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_displayLanguage */

+

+

+	/* Procedure put_displayLanguage */

+

+/* 968 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 970 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 974 */	NdrFcShort( 0xb ),	/* 11 */

+/* 976 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 978 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 980 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 982 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 984 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 986 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 988 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 990 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 992 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppBundleWebUser0001 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0001 */

+

+/* 994 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 996 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 998 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1000 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1002 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1004 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_parentHWND */

+

+

+	/* Procedure put_parentHWND */

+

+/* 1006 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1008 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1012 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1014 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1016 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1018 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1020 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 1022 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1024 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1026 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1030 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter hwnd */

+

+

+	/* Parameter hwnd */

+

+/* 1032 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1034 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1036 */	0xb9,		/* FC_UINT3264 */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1038 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1040 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1042 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appWeb */

+

+

+	/* Procedure get_appWeb */

+

+/* 1044 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1046 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1050 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1052 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1054 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1056 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1058 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1060 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1062 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1064 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1066 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1068 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 1070 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1072 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1074 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter app_web */

+

+

+	/* Parameter app_web */

+

+/* 1076 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1078 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1080 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1082 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1084 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1086 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure initialize */

+

+

+	/* Procedure initialize */

+

+/* 1088 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1090 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1094 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1096 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1100 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1102 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1104 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1108 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1110 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1112 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1114 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1116 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1118 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure checkForUpdate */

+

+

+	/* Procedure checkForUpdate */

+

+/* 1120 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1122 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1126 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1128 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1130 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1132 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1134 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1136 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1138 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1144 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1148 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure download */

+

+

+	/* Procedure download */

+

+/* 1152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1158 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 1160 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1166 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1168 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1176 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1178 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1180 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1182 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure install */

+

+

+	/* Procedure install */

+

+/* 1184 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1186 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1190 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 1192 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1194 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1196 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1198 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1200 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1202 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1204 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1206 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1208 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1210 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1212 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1214 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure pause */

+

+

+	/* Procedure pause */

+

+/* 1216 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1218 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1222 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 1224 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1226 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1228 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1230 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1232 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1234 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1236 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1238 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1240 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1242 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1244 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1246 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure resume */

+

+

+	/* Procedure resume */

+

+/* 1248 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1250 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1254 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 1256 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1258 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1260 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1262 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1264 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1266 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1272 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1274 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1276 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1278 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1280 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1282 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1286 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 1288 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1290 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1292 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1294 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1296 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1298 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1300 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1302 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1304 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1306 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1308 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1310 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure downloadPackage */

+

+

+	/* Procedure downloadPackage */

+

+/* 1312 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1314 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1318 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 1320 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1324 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1326 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1328 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1332 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1336 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1338 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1340 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1342 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter package_name */

+

+

+	/* Parameter package_name */

+

+/* 1344 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1346 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1348 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1350 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1352 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1354 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1356 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1358 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1362 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 1364 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1366 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1368 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1370 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1372 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1374 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1378 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1380 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1382 */	NdrFcShort( 0x6113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=24 */

+/* 1384 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1386 */	NdrFcShort( 0x3fe ),	/* Type Offset=1022 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1388 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1390 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1392 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentVersionWeb */

+

+

+	/* Procedure get_currentVersionWeb */

+

+/* 1394 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1396 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1400 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1402 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1406 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1408 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1410 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1412 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1414 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1416 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1418 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current */

+

+

+	/* Parameter current */

+

+/* 1420 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1422 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1424 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1426 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1428 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1430 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersionWeb */

+

+

+	/* Procedure get_nextVersionWeb */

+

+/* 1432 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1434 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1438 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1440 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1444 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1446 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1448 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1452 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1454 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1456 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter next */

+

+

+	/* Parameter next */

+

+/* 1458 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1460 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1462 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1464 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1466 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1468 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_command */

+

+

+	/* Procedure get_command */

+

+/* 1470 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1472 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1476 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1478 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1480 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1482 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1484 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1486 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1490 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1492 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1494 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter command_id */

+

+

+	/* Parameter command_id */

+

+/* 1496 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1498 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1500 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter command */

+

+

+	/* Parameter command */

+

+/* 1502 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1504 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1506 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1508 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1510 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1512 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1514 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1516 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1520 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1522 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1524 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1526 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1528 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1530 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1532 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1534 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1536 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1538 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1540 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1542 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1544 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1546 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1548 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1554 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1556 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1558 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1560 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1562 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1564 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1568 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1570 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1572 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1574 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1576 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1578 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1580 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1582 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure launch */

+

+

+	/* Procedure launch */

+

+/* 1584 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1586 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1590 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1592 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1594 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1596 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1598 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1600 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1602 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1606 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1608 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1610 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1612 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1614 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure uninstall */

+

+

+	/* Procedure uninstall */

+

+/* 1616 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1618 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1622 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1624 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1626 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1628 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1630 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1632 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1634 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1638 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1640 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1642 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1644 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1646 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_serverInstallDataIndex */

+

+

+	/* Procedure get_serverInstallDataIndex */

+

+/* 1648 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1650 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1654 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1656 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1660 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1662 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1664 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1666 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1668 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1670 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1672 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppWebUser0001 */

+

+

+	/* Parameter __MIDL__IAppWeb0001 */

+

+/* 1674 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1676 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1678 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1680 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1682 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1684 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_serverInstallDataIndex */

+

+

+	/* Procedure put_serverInstallDataIndex */

+

+/* 1686 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1688 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1692 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1694 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1696 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1698 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1700 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1702 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1706 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1710 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppWebUser0002 */

+

+

+	/* Parameter __MIDL__IAppWeb0002 */

+

+/* 1712 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1714 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1716 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1718 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1720 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1722 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_output */

+

+

+	/* Procedure get_output */

+

+/* 1724 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1726 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1730 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1732 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1734 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1736 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1738 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1740 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1742 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1748 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter pref */

+

+

+	/* Parameter pref */

+

+

+	/* Parameter __MIDL__IAppCommandWebUser0002 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0002 */

+

+/* 1750 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1752 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1754 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1756 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1758 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1760 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure execute */

+

+

+	/* Procedure execute */

+

+/* 1762 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1764 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1768 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1770 */	NdrFcShort( 0x58 ),	/* X64 Stack size/offset = 88 */

+/* 1772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1774 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1776 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xa,		/* 10 */

+/* 1778 */	0xa,		/* 10 */

+			0x85,		/* Ext Flags:  new corr desc, srv corr check, has big byval param */

+/* 1780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1782 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1786 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter substitution1 */

+

+

+	/* Parameter substitution1 */

+

+/* 1788 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1790 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1792 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution2 */

+

+

+	/* Parameter substitution2 */

+

+/* 1794 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1796 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1798 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution3 */

+

+

+	/* Parameter substitution3 */

+

+/* 1800 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1802 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1804 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution4 */

+

+

+	/* Parameter substitution4 */

+

+/* 1806 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1808 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1810 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution5 */

+

+

+	/* Parameter substitution5 */

+

+/* 1812 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1814 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1816 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution6 */

+

+

+	/* Parameter substitution6 */

+

+/* 1818 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1820 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1822 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution7 */

+

+

+	/* Parameter substitution7 */

+

+/* 1824 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1826 */	NdrFcShort( 0x38 ),	/* X64 Stack size/offset = 56 */

+/* 1828 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution8 */

+

+

+	/* Parameter substitution8 */

+

+/* 1830 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1832 */	NdrFcShort( 0x40 ),	/* X64 Stack size/offset = 64 */

+/* 1834 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Parameter substitution9 */

+

+

+	/* Parameter substitution9 */

+

+/* 1836 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1838 */	NdrFcShort( 0x48 ),	/* X64 Stack size/offset = 72 */

+/* 1840 */	NdrFcShort( 0x410 ),	/* Type Offset=1040 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1842 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1844 */	NdrFcShort( 0x50 ),	/* X64 Stack size/offset = 80 */

+/* 1846 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 1848 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1850 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1854 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1856 */	NdrFcShort( 0x30 ),	/* X64 Stack size/offset = 48 */

+/* 1858 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1860 */	NdrFcShort( 0x76 ),	/* 118 */

+/* 1862 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x5,		/* 5 */

+/* 1864 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1866 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1868 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1870 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1872 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter start_hour */

+

+

+	/* Parameter start_hour */

+

+/* 1874 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1876 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1878 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter start_min */

+

+

+	/* Parameter start_min */

+

+/* 1880 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1882 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1884 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter duration_min */

+

+

+	/* Parameter duration_min */

+

+/* 1886 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1888 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1890 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter are_updates_suppressed */

+

+

+	/* Parameter are_updates_suppressed */

+

+/* 1892 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1894 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1896 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1898 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1900 */	NdrFcShort( 0x28 ),	/* X64 Stack size/offset = 40 */

+/* 1902 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 1904 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1906 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1910 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1912 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1914 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1916 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1918 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1920 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1922 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1924 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1926 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1928 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1930 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1932 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1934 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 1936 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1938 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1940 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1942 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1944 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1946 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 1948 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1950 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1954 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1956 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 1958 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1960 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1962 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1964 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1966 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1968 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1970 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1972 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1974 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1976 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 1978 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 1980 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1982 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 1984 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1986 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1988 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 1990 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 1992 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1994 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1998 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2000 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2002 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2004 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2006 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2008 */	0xa,		/* 10 */

+			0x7,		/* Ext Flags:  new corr desc, clt corr check, srv corr check, */

+/* 2010 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2012 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2014 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2016 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2018 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2020 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2022 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter prefix */

+

+

+	/* Parameter prefix */

+

+/* 2024 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2026 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2028 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2030 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2032 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2034 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2036 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2038 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2042 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2044 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2048 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 2050 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2052 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2054 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2056 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2058 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2060 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 2062 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2064 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2066 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter rollback_allowed */

+

+

+	/* Parameter rollback_allowed */

+

+/* 2068 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2070 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2072 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2074 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2076 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2078 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_hasConflict */

+

+

+	/* Procedure get_hasConflict */

+

+/* 2080 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2082 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2086 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 2088 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2090 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2092 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 2094 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2096 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2098 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2104 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter has_conflict */

+

+

+	/* Parameter has_conflict */

+

+/* 2106 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2108 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2110 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2112 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2114 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2116 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictValue */

+

+

+	/* Procedure get_conflictValue */

+

+/* 2118 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2120 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2124 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2126 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2130 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2132 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2134 */	0xa,		/* 10 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 2136 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2138 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2142 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0003 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0003 */

+

+/* 2144 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2146 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2148 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2150 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2152 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2154 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckedTime */

+

+

+	/* Procedure get_lastCheckedTime */

+

+/* 2156 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2158 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2162 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2164 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2166 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2168 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 2170 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2172 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2174 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2176 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2178 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2180 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter last_checked */

+

+

+	/* Parameter last_checked */

+

+/* 2182 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2184 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2186 */	0xc,		/* FC_DOUBLE */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2188 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2190 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2192 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2194 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2196 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2200 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2202 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2204 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2206 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2208 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2210 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2212 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2214 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2216 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2218 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2220 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2222 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2224 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2226 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2228 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2230 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2232 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2234 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2238 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2240 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2242 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2244 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2246 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2248 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2250 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2254 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2256 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2258 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2260 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2262 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2264 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2266 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2268 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2270 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2272 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2274 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2276 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2278 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2282 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2284 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2288 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2290 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2292 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2296 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2298 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2300 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2302 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2304 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2306 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2308 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2310 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2312 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2314 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2316 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2320 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2322 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2326 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2328 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2330 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2332 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2336 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2338 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2340 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2342 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2344 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2346 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2348 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2350 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2352 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2354 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2358 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2360 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2362 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2364 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2366 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2368 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2370 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2372 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2374 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2376 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2378 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2380 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2382 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2384 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2386 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2388 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2390 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2392 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2396 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2398 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2400 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2402 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2404 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2406 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2412 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2414 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2416 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2418 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2420 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2422 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2424 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2426 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2428 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2430 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2434 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2436 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2438 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2440 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2442 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2444 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2446 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2452 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2454 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2456 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2458 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2460 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2462 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2464 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2466 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2468 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2472 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2474 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2478 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2480 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2482 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2490 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2492 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2494 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2496 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2498 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2500 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2502 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2504 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2506 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2510 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2512 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2516 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2518 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2520 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2524 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2526 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2528 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2530 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2532 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2534 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2536 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2538 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2540 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2542 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2544 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2546 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2548 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2550 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2554 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2556 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2560 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2562 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2564 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2568 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2570 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2572 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2574 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2576 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2578 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2580 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2582 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2584 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2586 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2588 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2590 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2592 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2594 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2598 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2600 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2602 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2604 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2606 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2608 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2610 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2612 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2616 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2618 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2620 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2622 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2624 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2626 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2628 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2630 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2632 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2634 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2636 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2638 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2642 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 2644 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2646 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2648 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2650 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2652 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2654 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2656 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2660 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2662 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2664 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2666 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2668 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2670 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2672 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2674 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2676 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2678 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 2680 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2682 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2686 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2688 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2690 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2692 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2694 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2696 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2698 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2700 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2702 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2704 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2706 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2708 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2710 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2712 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2714 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2716 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 2718 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2720 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2722 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2724 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2726 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2730 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2732 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2734 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2736 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2738 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2740 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2748 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2750 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2752 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2754 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2756 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2758 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2760 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2762 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2764 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2768 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2770 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 2772 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2774 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2776 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2778 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2784 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2786 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2788 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2790 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2792 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2794 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2796 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2798 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2800 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2802 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2804 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2806 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2808 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2812 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2814 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2818 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2820 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2822 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2828 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2830 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2832 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2834 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2836 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2838 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2840 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2842 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2844 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2846 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2850 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2852 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2854 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2856 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2858 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2860 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2866 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2868 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2870 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2872 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2874 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2876 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2878 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2880 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2882 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2884 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2888 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2890 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2894 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2896 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2898 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2902 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2904 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2906 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2908 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2910 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2912 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2914 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2916 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2918 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2920 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2922 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2926 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2928 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2930 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2932 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2934 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2936 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2938 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2940 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2942 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2944 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2946 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2948 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2950 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2952 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2954 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2956 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2958 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2960 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2964 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2966 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 2968 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2970 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2972 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2974 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2976 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2978 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2980 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2982 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2984 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2986 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 2988 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 2990 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2992 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 2994 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2996 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2998 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3002 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 3004 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3006 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3008 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3010 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3012 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3014 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3016 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3018 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3020 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 3022 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3024 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3026 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3028 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3030 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3032 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 3034 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3036 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3040 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 3042 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3044 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3046 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3048 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3050 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3052 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3054 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3056 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3058 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3060 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3062 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3064 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3066 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3068 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3070 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3072 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3074 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3076 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 3078 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3080 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3084 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 3086 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3088 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3090 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3092 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3094 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3096 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3098 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3102 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3104 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3106 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3108 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3110 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3112 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3114 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3116 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3118 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3120 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 3122 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3124 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3128 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 3130 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3134 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3136 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3138 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3142 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3144 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3146 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3148 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3150 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3152 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3154 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3156 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3158 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3160 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3162 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3164 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 3166 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3168 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3172 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 3174 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3176 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3178 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3180 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3182 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3184 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3186 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3188 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3190 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3192 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3194 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3196 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3198 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3200 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3202 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3204 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3206 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3208 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 3210 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3212 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3216 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 3218 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3220 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3222 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3224 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3226 */	0xa,		/* 10 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3228 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3230 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3234 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3236 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3238 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3240 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3242 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3244 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3246 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3248 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3250 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3252 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3254 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3256 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3260 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3262 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3264 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3266 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3268 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3270 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3272 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3274 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3276 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3278 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_machine */

+

+/* 3280 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3282 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3284 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3286 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3288 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3290 */	NdrFcShort( 0x41e ),	/* Type Offset=1054 */

+

+	/* Return value */

+

+/* 3292 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3294 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3296 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3298 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3300 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3304 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3306 */	NdrFcShort( 0x20 ),	/* X64 Stack size/offset = 32 */

+/* 3308 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3310 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3312 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3314 */	0xa,		/* 10 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3316 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3318 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3320 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3322 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_machine */

+

+/* 3324 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3326 */	NdrFcShort( 0x8 ),	/* X64 Stack size/offset = 8 */

+/* 3328 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3330 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3332 */	NdrFcShort( 0x10 ),	/* X64 Stack size/offset = 16 */

+/* 3334 */	NdrFcShort( 0x438 ),	/* Type Offset=1080 */

+

+	/* Return value */

+

+/* 3336 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3338 */	NdrFcShort( 0x18 ),	/* X64 Stack size/offset = 24 */

+/* 3340 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_user__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  4 */	NdrFcShort( 0x1c ),	/* Offset= 28 (32) */

+/*  6 */	

+			0x13, 0x0,	/* FC_OP */

+/*  8 */	NdrFcShort( 0xe ),	/* Offset= 14 (22) */

+/* 10 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 12 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 14 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 16 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 18 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 20 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 22 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 24 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 26 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (10) */

+/* 28 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 30 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 32 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 34 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 36 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0xffde ),	/* Offset= -34 (6) */

+/* 42 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 44 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 46 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 48 */	NdrFcShort( 0x2 ),	/* Offset= 2 (50) */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 62 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 64 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 66 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 68 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 70 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 72 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 74 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 76 */	

+			0x12, 0x0,	/* FC_UP */

+/* 78 */	NdrFcShort( 0xffc8 ),	/* Offset= -56 (22) */

+/* 80 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (76) */

+/* 90 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/* 92 */	NdrFcShort( 0x3a2 ),	/* Offset= 930 (1022) */

+/* 94 */	

+			0x13, 0x0,	/* FC_OP */

+/* 96 */	NdrFcShort( 0x38a ),	/* Offset= 906 (1002) */

+/* 98 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 100 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 102 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 104 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 106 */	NdrFcShort( 0x2 ),	/* Offset= 2 (108) */

+/* 108 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 110 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 112 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 116 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 118 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 122 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 124 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 128 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 130 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 134 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 136 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 140 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 142 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 146 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 148 */	NdrFcLong( 0xb ),	/* 11 */

+/* 152 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 154 */	NdrFcLong( 0xa ),	/* 10 */

+/* 158 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 160 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 164 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (396) */

+/* 166 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 170 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 172 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 176 */	NdrFcShort( 0xff56 ),	/* Offset= -170 (6) */

+/* 178 */	NdrFcLong( 0xd ),	/* 13 */

+/* 182 */	NdrFcShort( 0xdc ),	/* Offset= 220 (402) */

+/* 184 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 188 */	NdrFcShort( 0xff76 ),	/* Offset= -138 (50) */

+/* 190 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 194 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (420) */

+/* 196 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 200 */	NdrFcShort( 0x2d8 ),	/* Offset= 728 (928) */

+/* 202 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 206 */	NdrFcShort( 0x2d2 ),	/* Offset= 722 (928) */

+/* 208 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 212 */	NdrFcShort( 0x2d0 ),	/* Offset= 720 (932) */

+/* 214 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 218 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (936) */

+/* 220 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 224 */	NdrFcShort( 0x2cc ),	/* Offset= 716 (940) */

+/* 226 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 230 */	NdrFcShort( 0x2ca ),	/* Offset= 714 (944) */

+/* 232 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 236 */	NdrFcShort( 0x2c8 ),	/* Offset= 712 (948) */

+/* 238 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 242 */	NdrFcShort( 0x2c6 ),	/* Offset= 710 (952) */

+/* 244 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 248 */	NdrFcShort( 0x2b0 ),	/* Offset= 688 (936) */

+/* 250 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 254 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (940) */

+/* 256 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 260 */	NdrFcShort( 0x2b8 ),	/* Offset= 696 (956) */

+/* 262 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 266 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (952) */

+/* 268 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 272 */	NdrFcShort( 0x2b0 ),	/* Offset= 688 (960) */

+/* 274 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 278 */	NdrFcShort( 0x2ae ),	/* Offset= 686 (964) */

+/* 280 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 284 */	NdrFcShort( 0x2ac ),	/* Offset= 684 (968) */

+/* 286 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 290 */	NdrFcShort( 0x2aa ),	/* Offset= 682 (972) */

+/* 292 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 296 */	NdrFcShort( 0x2a8 ),	/* Offset= 680 (976) */

+/* 298 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 302 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 304 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 308 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 310 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 314 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 316 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 320 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 322 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 326 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 328 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 332 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 334 */	NdrFcLong( 0xe ),	/* 14 */

+/* 338 */	NdrFcShort( 0x286 ),	/* Offset= 646 (984) */

+/* 340 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 344 */	NdrFcShort( 0x28a ),	/* Offset= 650 (994) */

+/* 346 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 350 */	NdrFcShort( 0x288 ),	/* Offset= 648 (998) */

+/* 352 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 356 */	NdrFcShort( 0x244 ),	/* Offset= 580 (936) */

+/* 358 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 362 */	NdrFcShort( 0x242 ),	/* Offset= 578 (940) */

+/* 364 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 368 */	NdrFcShort( 0x240 ),	/* Offset= 576 (944) */

+/* 370 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 374 */	NdrFcShort( 0x236 ),	/* Offset= 566 (940) */

+/* 376 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 380 */	NdrFcShort( 0x230 ),	/* Offset= 560 (940) */

+/* 382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0x0 ),	/* Offset= 0 (386) */

+/* 388 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 392 */	NdrFcShort( 0x0 ),	/* Offset= 0 (392) */

+/* 394 */	NdrFcShort( 0xffff ),	/* Offset= -1 (393) */

+/* 396 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 400 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 402 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 404 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 412 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 414 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 416 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 418 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 420 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 422 */	NdrFcShort( 0x2 ),	/* Offset= 2 (424) */

+/* 424 */	

+			0x13, 0x0,	/* FC_OP */

+/* 426 */	NdrFcShort( 0x1e4 ),	/* Offset= 484 (910) */

+/* 428 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x89,		/* 137 */

+/* 430 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 432 */	NdrFcShort( 0xa ),	/* 10 */

+/* 434 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 438 */	NdrFcShort( 0x50 ),	/* Offset= 80 (518) */

+/* 440 */	NdrFcLong( 0xd ),	/* 13 */

+/* 444 */	NdrFcShort( 0x70 ),	/* Offset= 112 (556) */

+/* 446 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 450 */	NdrFcShort( 0x90 ),	/* Offset= 144 (594) */

+/* 452 */	NdrFcLong( 0xc ),	/* 12 */

+/* 456 */	NdrFcShort( 0xb0 ),	/* Offset= 176 (632) */

+/* 458 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 462 */	NdrFcShort( 0x102 ),	/* Offset= 258 (720) */

+/* 464 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 468 */	NdrFcShort( 0x11e ),	/* Offset= 286 (754) */

+/* 470 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 474 */	NdrFcShort( 0x138 ),	/* Offset= 312 (786) */

+/* 476 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 480 */	NdrFcShort( 0x14e ),	/* Offset= 334 (814) */

+/* 482 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 486 */	NdrFcShort( 0x164 ),	/* Offset= 356 (842) */

+/* 488 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 492 */	NdrFcShort( 0x17a ),	/* Offset= 378 (870) */

+/* 494 */	NdrFcShort( 0xffff ),	/* Offset= -1 (493) */

+/* 496 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 498 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 500 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 502 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 504 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 506 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 510 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 512 */	

+			0x13, 0x0,	/* FC_OP */

+/* 514 */	NdrFcShort( 0xfe14 ),	/* Offset= -492 (22) */

+/* 516 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 518 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 520 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 524 */	NdrFcShort( 0x6 ),	/* Offset= 6 (530) */

+/* 526 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 528 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 530 */	

+			0x11, 0x0,	/* FC_RP */

+/* 532 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (496) */

+/* 534 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 536 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 538 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 542 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 544 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 548 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 550 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 552 */	NdrFcShort( 0xff6a ),	/* Offset= -150 (402) */

+/* 554 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 556 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 558 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 562 */	NdrFcShort( 0x6 ),	/* Offset= 6 (568) */

+/* 564 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 566 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 568 */	

+			0x11, 0x0,	/* FC_RP */

+/* 570 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (534) */

+/* 572 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 574 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 576 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 578 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 580 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 582 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 586 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 588 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 590 */	NdrFcShort( 0xfde4 ),	/* Offset= -540 (50) */

+/* 592 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 594 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 596 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 598 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 600 */	NdrFcShort( 0x6 ),	/* Offset= 6 (606) */

+/* 602 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 604 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 606 */	

+			0x11, 0x0,	/* FC_RP */

+/* 608 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (572) */

+/* 610 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 612 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 614 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 616 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 618 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 620 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 624 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 626 */	

+			0x13, 0x0,	/* FC_OP */

+/* 628 */	NdrFcShort( 0x176 ),	/* Offset= 374 (1002) */

+/* 630 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 632 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 634 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 636 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 638 */	NdrFcShort( 0x6 ),	/* Offset= 6 (644) */

+/* 640 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 642 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 644 */	

+			0x11, 0x0,	/* FC_RP */

+/* 646 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (610) */

+/* 648 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 650 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 654 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 656 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 658 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 660 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 662 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 664 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 666 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 668 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 670 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 672 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 674 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 676 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 678 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 680 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 684 */	NdrFcShort( 0xa ),	/* Offset= 10 (694) */

+/* 686 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 688 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 690 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (648) */

+/* 692 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 694 */	

+			0x13, 0x0,	/* FC_OP */

+/* 696 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (666) */

+/* 698 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 706 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 708 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 712 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 714 */	

+			0x13, 0x0,	/* FC_OP */

+/* 716 */	NdrFcShort( 0xffda ),	/* Offset= -38 (678) */

+/* 718 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 720 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 722 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 724 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 726 */	NdrFcShort( 0x6 ),	/* Offset= 6 (732) */

+/* 728 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 730 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 732 */	

+			0x11, 0x0,	/* FC_RP */

+/* 734 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (698) */

+/* 736 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 738 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 740 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 742 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 744 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 746 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 748 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 750 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (736) */

+			0x5b,		/* FC_END */

+/* 754 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 756 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0xa ),	/* Offset= 10 (770) */

+/* 762 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 764 */	0x36,		/* FC_POINTER */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 766 */	0x0,		/* 0 */

+			NdrFcShort( 0xffe7 ),	/* Offset= -25 (742) */

+			0x5b,		/* FC_END */

+/* 770 */	

+			0x11, 0x0,	/* FC_RP */

+/* 772 */	NdrFcShort( 0xff12 ),	/* Offset= -238 (534) */

+/* 774 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 776 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 778 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 782 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 784 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 786 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 788 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 790 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 792 */	NdrFcShort( 0x6 ),	/* Offset= 6 (798) */

+/* 794 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 796 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 798 */	

+			0x13, 0x0,	/* FC_OP */

+/* 800 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (774) */

+/* 802 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 804 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 806 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 812 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 814 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 816 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 820 */	NdrFcShort( 0x6 ),	/* Offset= 6 (826) */

+/* 822 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 824 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 826 */	

+			0x13, 0x0,	/* FC_OP */

+/* 828 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (802) */

+/* 830 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 832 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 834 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 836 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 838 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 840 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 842 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 844 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x6 ),	/* Offset= 6 (854) */

+/* 850 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 852 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 854 */	

+			0x13, 0x0,	/* FC_OP */

+/* 856 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (830) */

+/* 858 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 860 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 862 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 868 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 870 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 872 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 874 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 876 */	NdrFcShort( 0x6 ),	/* Offset= 6 (882) */

+/* 878 */	0x8,		/* FC_LONG */

+			0x40,		/* FC_STRUCTPAD4 */

+/* 880 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 882 */	

+			0x13, 0x0,	/* FC_OP */

+/* 884 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (858) */

+/* 886 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 888 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 890 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 892 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 894 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 896 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 898 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 900 */	NdrFcShort( 0xffc8 ),	/* -56 */

+/* 902 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 904 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 906 */	NdrFcShort( 0xffec ),	/* Offset= -20 (886) */

+/* 908 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 910 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 912 */	NdrFcShort( 0x38 ),	/* 56 */

+/* 914 */	NdrFcShort( 0xffec ),	/* Offset= -20 (894) */

+/* 916 */	NdrFcShort( 0x0 ),	/* Offset= 0 (916) */

+/* 918 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 920 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 922 */	0x40,		/* FC_STRUCTPAD4 */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 924 */	0x0,		/* 0 */

+			NdrFcShort( 0xfe0f ),	/* Offset= -497 (428) */

+			0x5b,		/* FC_END */

+/* 928 */	

+			0x13, 0x0,	/* FC_OP */

+/* 930 */	NdrFcShort( 0xff04 ),	/* Offset= -252 (678) */

+/* 932 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 934 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 936 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 938 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 940 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 942 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 944 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 946 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 948 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 950 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 952 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 954 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 956 */	

+			0x13, 0x0,	/* FC_OP */

+/* 958 */	NdrFcShort( 0xfdce ),	/* Offset= -562 (396) */

+/* 960 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 962 */	NdrFcShort( 0xfc44 ),	/* Offset= -956 (6) */

+/* 964 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 966 */	NdrFcShort( 0xfdcc ),	/* Offset= -564 (402) */

+/* 968 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 970 */	NdrFcShort( 0xfc68 ),	/* Offset= -920 (50) */

+/* 972 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 974 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (420) */

+/* 976 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 978 */	NdrFcShort( 0x2 ),	/* Offset= 2 (980) */

+/* 980 */	

+			0x13, 0x0,	/* FC_OP */

+/* 982 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1002) */

+/* 984 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 986 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 988 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 990 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 992 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 994 */	

+			0x13, 0x0,	/* FC_OP */

+/* 996 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (984) */

+/* 998 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1000 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1004 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1006 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1008 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1008) */

+/* 1010 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1012 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1014 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1016 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1018 */	NdrFcShort( 0xfc68 ),	/* Offset= -920 (98) */

+/* 1020 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1022 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1024 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1026 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1028 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1030 */	NdrFcShort( 0xfc58 ),	/* Offset= -936 (94) */

+/* 1032 */	

+			0x11, 0x0,	/* FC_RP */

+/* 1034 */	NdrFcShort( 0x6 ),	/* Offset= 6 (1040) */

+/* 1036 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1038 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (1002) */

+/* 1040 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1042 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1044 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1036) */

+/* 1050 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1052 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1054 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1056 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1058) */

+/* 1058 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1060 */	NdrFcLong( 0x2a7d2ae7 ),	/* 712846055 */

+/* 1064 */	NdrFcShort( 0x8eee ),	/* -28946 */

+/* 1066 */	NdrFcShort( 0x45b4 ),	/* 17844 */

+/* 1068 */	0xb1,		/* 177 */

+			0x7f,		/* 127 */

+/* 1070 */	0x31,		/* 49 */

+			0xda,		/* 218 */

+/* 1072 */	0xac,		/* 172 */

+			0x82,		/* 130 */

+/* 1074 */	0xcc,		/* 204 */

+			0xbb,		/* 187 */

+/* 1076 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1078 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 1080 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1082 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1084) */

+/* 1084 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1086 */	NdrFcLong( 0x7e0a6b39 ),	/* 2114612025 */

+/* 1090 */	NdrFcShort( 0x7ceb ),	/* 31979 */

+/* 1092 */	NdrFcShort( 0x4944 ),	/* 18756 */

+/* 1094 */	0xab,		/* 171 */

+			0xfa,		/* 250 */

+/* 1096 */	0xf4,		/* 244 */

+			0x19,		/* 25 */

+/* 1098 */	0xd2,		/* 210 */

+			0x1,		/* 1 */

+/* 1100 */	0xd6,		/* 214 */

+			0xa0,		/* 160 */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Standard interface: __MIDL_itf_updater_legacy_idl_user_0000_0000, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IAppVersionWeb, ver. 0.0,

+   GUID={0xAA10D17D,0x7A09,0x48AC,{0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    38,

+    76

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebProxyVtbl = 

+{

+    &IAppVersionWeb_ProxyInfo,

+    &IID_IAppVersionWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebStubVtbl =

+{

+    &IID_IAppVersionWeb,

+    &IAppVersionWeb_ServerInfo,

+    10,

+    &IAppVersionWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppVersionWebUser, ver. 0.0,

+   GUID={0xAC817E10,0x993C,0x470F,{0x8D,0xCA,0x25,0xF5,0x3D,0x70,0xEA,0x8D}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    38,

+    76

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebUserProxyVtbl = 

+{

+    &IAppVersionWebUser_ProxyInfo,

+    &IID_IAppVersionWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebUser::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebUser::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebUser::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebUserStubVtbl =

+{

+    &IID_IAppVersionWebUser,

+    &IAppVersionWebUser_ServerInfo,

+    10,

+    &IAppVersionWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentState, ver. 0.0,

+   GUID={0xA643508B,0xB1E3,0x4457,{0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    158,

+    196,

+    234,

+    272,

+    310,

+    348,

+    386,

+    424,

+    462,

+    500,

+    538,

+    576,

+    614,

+    652,

+    690,

+    728

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateProxyVtbl = 

+{

+    &ICurrentState_ProxyInfo,

+    &IID_ICurrentState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateStubVtbl =

+{

+    &IID_ICurrentState,

+    &ICurrentState_ServerInfo,

+    24,

+    &ICurrentState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentStateUser, ver. 0.0,

+   GUID={0x31479718,0xD170,0x467B,{0x92,0x74,0x27,0xFC,0x3E,0x88,0xCB,0x76}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentStateUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    158,

+    196,

+    234,

+    272,

+    310,

+    348,

+    386,

+    424,

+    462,

+    500,

+    538,

+    576,

+    614,

+    652,

+    690,

+    728

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentStateUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentStateUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateUserProxyVtbl = 

+{

+    &ICurrentStateUser_ProxyInfo,

+    &IID_ICurrentStateUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentStateUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateUserStubVtbl =

+{

+    &IID_ICurrentStateUser,

+    &ICurrentStateUser_ServerInfo,

+    24,

+    &ICurrentStateUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3Web, ver. 0.0,

+   GUID={0xA35E1C5E,0x0A18,0x4FF1,{0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3Web_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    766

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebProxyVtbl = 

+{

+    &IGoogleUpdate3Web_ProxyInfo,

+    &IID_IGoogleUpdate3Web,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3Web::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3Web_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebStubVtbl =

+{

+    &IID_IGoogleUpdate3Web,

+    &IGoogleUpdate3Web_ServerInfo,

+    8,

+    &IGoogleUpdate3Web_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3WebUser, ver. 0.0,

+   GUID={0xEE8EE731,0xC592,0x4A4F,{0x97,0x74,0xBB,0x04,0x33,0x7B,0x8F,0x46}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3WebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    766

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3WebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebUserProxyVtbl = 

+{

+    &IGoogleUpdate3WebUser_ProxyInfo,

+    &IID_IGoogleUpdate3WebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3WebUser::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3WebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebUserStubVtbl =

+{

+    &IID_IGoogleUpdate3WebUser,

+    &IGoogleUpdate3WebUser_ServerInfo,

+    8,

+    &IGoogleUpdate3WebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWeb, ver. 0.0,

+   GUID={0x0569DBB9,0xBAA0,0x48D5,{0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    804,

+    860,

+    898,

+    930,

+    968,

+    1006,

+    348,

+    1044,

+    1088,

+    1120,

+    1152,

+    1184,

+    1216,

+    1248,

+    1280,

+    1312,

+    1356

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebProxyVtbl = 

+{

+    &IAppBundleWeb_ProxyInfo,

+    &IID_IAppBundleWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebStubVtbl =

+{

+    &IID_IAppBundleWeb,

+    &IAppBundleWeb_ServerInfo,

+    24,

+    &IAppBundleWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWebUser, ver. 0.0,

+   GUID={0xCE7A37FD,0xA255,0x460C,{0xBA,0xF1,0x70,0x87,0x65,0xEB,0x76,0xEC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    804,

+    860,

+    898,

+    930,

+    968,

+    1006,

+    348,

+    1044,

+    1088,

+    1120,

+    1152,

+    1184,

+    1216,

+    1248,

+    1280,

+    1312,

+    1356

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebUserProxyVtbl = 

+{

+    &IAppBundleWebUser_ProxyInfo,

+    &IID_IAppBundleWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebUserStubVtbl =

+{

+    &IID_IAppBundleWebUser,

+    &IAppBundleWebUser_ServerInfo,

+    24,

+    &IAppBundleWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWeb, ver. 0.0,

+   GUID={0x63D941DE,0xF67B,0x4E15,{0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1394,

+    1432,

+    1470,

+    1514,

+    1546,

+    1584,

+    1616,

+    1648,

+    1686

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebProxyVtbl = 

+{

+    &IAppWeb_ProxyInfo,

+    &IID_IAppWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebStubVtbl =

+{

+    &IID_IAppWeb,

+    &IAppWeb_ServerInfo,

+    17,

+    &IAppWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWebUser, ver. 0.0,

+   GUID={0x47B9D508,0xCB72,0x4F8B,{0xAF,0x00,0x7D,0x01,0x43,0x60,0x3B,0x25}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1394,

+    1432,

+    1470,

+    1514,

+    1546,

+    1584,

+    1616,

+    1648,

+    1686

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebUserProxyVtbl = 

+{

+    &IAppWebUser_ProxyInfo,

+    &IID_IAppWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebUserStubVtbl =

+{

+    &IID_IAppWebUser,

+    &IAppWebUser_ServerInfo,

+    17,

+    &IAppWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWeb, ver. 0.0,

+   GUID={0x10A2D03F,0x8BC7,0x49DB,{0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    38,

+    1724,

+    1762

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebProxyVtbl = 

+{

+    &IAppCommandWeb_ProxyInfo,

+    &IID_IAppCommandWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebStubVtbl =

+{

+    &IID_IAppCommandWeb,

+    &IAppCommandWeb_ServerInfo,

+    11,

+    &IAppCommandWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWebUser, ver. 0.0,

+   GUID={0x5515E66F,0xFA6F,0x4D74,{0xB5,0xEA,0x4F,0xCF,0xDA,0x16,0xFE,0x12}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    38,

+    1724,

+    1762

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebUserProxyVtbl = 

+{

+    &IAppCommandWebUser_ProxyInfo,

+    &IID_IAppCommandWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebUserStubVtbl =

+{

+    &IID_IAppCommandWebUser,

+    &IAppCommandWebUser_ServerInfo,

+    11,

+    &IAppCommandWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus, ver. 0.0,

+   GUID={0x6A54FE75,0xEDC8,0x404E,{0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    1848,

+    1724,

+    234,

+    272,

+    1904,

+    1948,

+    1992,

+    2036

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusProxyVtbl = 

+{

+    &IPolicyStatus_ProxyInfo,

+    &IID_IPolicyStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusStubVtbl =

+{

+    &IID_IPolicyStatus,

+    &IPolicyStatus_ServerInfo,

+    16,

+    &IPolicyStatus_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusUser, ver. 0.0,

+   GUID={0xEF739C0C,0x40B0,0x478D,{0xB7,0x6B,0x36,0x59,0xB8,0xF2,0xB0,0xEB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    120,

+    1848,

+    1724,

+    234,

+    272,

+    1904,

+    1948,

+    1992,

+    2036

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusUserProxyVtbl = 

+{

+    &IPolicyStatusUser_ProxyInfo,

+    &IID_IPolicyStatusUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusUserStubVtbl =

+{

+    &IID_IPolicyStatusUser,

+    &IPolicyStatusUser_ServerInfo,

+    16,

+    &IPolicyStatusUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValue, ver. 0.0,

+   GUID={0x2A7D2AE7,0x8EEE,0x45B4,{0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValue_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    158,

+    2080,

+    930,

+    2118

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueProxyVtbl = 

+{

+    &IPolicyStatusValue_ProxyInfo,

+    &IID_IPolicyStatusValue,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValue_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueStubVtbl =

+{

+    &IID_IPolicyStatusValue,

+    &IPolicyStatusValue_ServerInfo,

+    12,

+    &IPolicyStatusValue_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValueUser, ver. 0.0,

+   GUID={0x7E0A6B39,0x7CEB,0x4944,{0xAB,0xFA,0xF4,0x19,0xD2,0x01,0xD6,0xA0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValueUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    158,

+    2080,

+    930,

+    2118

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValueUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueUserProxyVtbl = 

+{

+    &IPolicyStatusValueUser_ProxyInfo,

+    &IID_IPolicyStatusValueUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValueUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueUserStubVtbl =

+{

+    &IID_IPolicyStatusValueUser,

+    &IPolicyStatusValueUser_ServerInfo,

+    12,

+    &IPolicyStatusValueUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2, ver. 0.0,

+   GUID={0x06A6AA1E,0x2680,0x4076,{0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2156,

+    898,

+    2194,

+    2232,

+    2276,

+    2314,

+    2352,

+    2390,

+    2428,

+    2466,

+    2504,

+    2548,

+    2592,

+    2636,

+    2680

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2ProxyVtbl = 

+{

+    &IPolicyStatus2_ProxyInfo,

+    &IID_IPolicyStatus2,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2StubVtbl =

+{

+    &IID_IPolicyStatus2,

+    &IPolicyStatus2_ServerInfo,

+    23,

+    &IPolicyStatus2_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2User, ver. 0.0,

+   GUID={0xAD91C851,0x86AC,0x499F,{0x9B,0xA9,0x9A,0x56,0x17,0x44,0xAA,0x4D}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2User_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2156,

+    898,

+    2724,

+    2762,

+    2806,

+    2844,

+    2882,

+    2920,

+    2958,

+    2996,

+    3034,

+    3078,

+    3122,

+    3166,

+    3210

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2User_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2User_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2UserProxyVtbl = 

+{

+    &IPolicyStatus2User_ProxyInfo,

+    &IID_IPolicyStatus2User,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2User_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2UserStubVtbl =

+{

+    &IID_IPolicyStatus2User,

+    &IPolicyStatus2User_ServerInfo,

+    23,

+    &IPolicyStatus2User_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3, ver. 0.0,

+   GUID={0x029BD175,0x5035,0x4E2A,{0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2156,

+    898,

+    2194,

+    2232,

+    2276,

+    2314,

+    2352,

+    2390,

+    2428,

+    2466,

+    2504,

+    2548,

+    2592,

+    2636,

+    2680,

+    3254

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3ProxyVtbl = 

+{

+    &IPolicyStatus3_ProxyInfo,

+    &IID_IPolicyStatus3,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3StubVtbl =

+{

+    &IID_IPolicyStatus3,

+    &IPolicyStatus3_ServerInfo,

+    24,

+    &IPolicyStatus3_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3User, ver. 0.0,

+   GUID={0xBC39E1E1,0xE8FA,0x4E72,{0x90,0x3F,0x3B,0xF3,0x46,0xE7,0xE1,0x65}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3User_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2156,

+    898,

+    2724,

+    2762,

+    2806,

+    2844,

+    2882,

+    2920,

+    2958,

+    2996,

+    3034,

+    3078,

+    3122,

+    3166,

+    3210,

+    3298

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3User_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3User_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3UserProxyVtbl = 

+{

+    &IPolicyStatus3User_ProxyInfo,

+    &IID_IPolicyStatus3User,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3User::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3User_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3UserStubVtbl =

+{

+    &IID_IPolicyStatus3User,

+    &IPolicyStatus3User_ServerInfo,

+    24,

+    &IPolicyStatus3User_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_legacy_idl_user__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_legacy_idl_user_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IAppWebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2UserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3UserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebUserProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_legacy_idl_user_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IAppWebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2StubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2UserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3StubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3UserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebUserStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_legacy_idl_user_InterfaceNamesList[] = 

+{

+    "IAppWebUser",

+    "IPolicyStatusUser",

+    "IAppVersionWebUser",

+    "ICurrentStateUser",

+    "IPolicyStatus2",

+    "IGoogleUpdate3WebUser",

+    "IPolicyStatusValueUser",

+    "IAppCommandWeb",

+    "IPolicyStatus2User",

+    "IGoogleUpdate3Web",

+    "IAppCommandWebUser",

+    "IPolicyStatus3",

+    "IPolicyStatus",

+    "IAppVersionWeb",

+    "ICurrentState",

+    "IAppBundleWeb",

+    "IAppWeb",

+    "IPolicyStatus3User",

+    "IPolicyStatusValue",

+    "IAppBundleWebUser",

+    0

+};

+

+const IID *  const _updater_legacy_idl_user_BaseIIDList[] = 

+{

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0

+};

+

+

+#define _updater_legacy_idl_user_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_legacy_idl_user, pIID, n)

+

+int __stdcall _updater_legacy_idl_user_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_legacy_idl_user, 20, 16 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_legacy_idl_user, 20, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_legacy_idl_user_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_legacy_idl_user_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_legacy_idl_user_StubVtblList,

+    (const PCInterfaceName * ) & _updater_legacy_idl_user_InterfaceNamesList,

+    (const IID ** ) & _updater_legacy_idl_user_BaseIIDList,

+    & _updater_legacy_idl_user_IID_Lookup, 

+    20,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* defined(_M_AMD64)*/

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system.dlldata.c
new file mode 100644
index 0000000..fc855fd
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_idl_system )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_idl_system ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system.h
new file mode 100644
index 0000000..88905cb
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system.h
@@ -0,0 +1,2284 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_system.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_idl_system_h__

+#define __updater_idl_system_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdateState_FWD_DEFINED__

+#define __IUpdateState_FWD_DEFINED__

+typedef interface IUpdateState IUpdateState;

+

+#endif 	/* __IUpdateState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateSystem_FWD_DEFINED__

+#define __IUpdateStateSystem_FWD_DEFINED__

+typedef interface IUpdateStateSystem IUpdateStateSystem;

+

+#endif 	/* __IUpdateStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_FWD_DEFINED__

+#define __ICompleteStatus_FWD_DEFINED__

+typedef interface ICompleteStatus ICompleteStatus;

+

+#endif 	/* __ICompleteStatus_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusSystem_FWD_DEFINED__

+#define __ICompleteStatusSystem_FWD_DEFINED__

+typedef interface ICompleteStatusSystem ICompleteStatusSystem;

+

+#endif 	/* __ICompleteStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_FWD_DEFINED__

+#define __IUpdaterObserver_FWD_DEFINED__

+typedef interface IUpdaterObserver IUpdaterObserver;

+

+#endif 	/* __IUpdaterObserver_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverSystem_FWD_DEFINED__

+#define __IUpdaterObserverSystem_FWD_DEFINED__

+typedef interface IUpdaterObserverSystem IUpdaterObserverSystem;

+

+#endif 	/* __IUpdaterObserverSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_FWD_DEFINED__

+#define __IUpdaterCallback_FWD_DEFINED__

+typedef interface IUpdaterCallback IUpdaterCallback;

+

+#endif 	/* __IUpdaterCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackSystem_FWD_DEFINED__

+#define __IUpdaterCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterCallbackSystem IUpdaterCallbackSystem;

+

+#endif 	/* __IUpdaterCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateSystem_FWD_DEFINED__

+#define __IUpdaterAppStateSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStateSystem IUpdaterAppStateSystem;

+

+#endif 	/* __IUpdaterAppStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_FWD_DEFINED__

+#define __IUpdaterAppStatesCallback_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallback IUpdaterAppStatesCallback;

+

+#endif 	/* __IUpdaterAppStatesCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackSystem IUpdaterAppStatesCallbackSystem;

+

+#endif 	/* __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdater_FWD_DEFINED__

+#define __IUpdater_FWD_DEFINED__

+typedef interface IUpdater IUpdater;

+

+#endif 	/* __IUpdater_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterSystem_FWD_DEFINED__

+#define __IUpdaterSystem_FWD_DEFINED__

+typedef interface IUpdaterSystem IUpdaterSystem;

+

+#endif 	/* __IUpdaterSystem_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterUserClass_FWD_DEFINED__

+#define __UpdaterUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterUserClass UpdaterUserClass;

+#else

+typedef struct UpdaterUserClass UpdaterUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterSystemClass_FWD_DEFINED__

+#define __UpdaterSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterSystemClass UpdaterSystemClass;

+#else

+typedef struct UpdaterSystemClass UpdaterSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateSystem_FWD_DEFINED__

+#define __IUpdateStateSystem_FWD_DEFINED__

+typedef interface IUpdateStateSystem IUpdateStateSystem;

+

+#endif 	/* __IUpdateStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusSystem_FWD_DEFINED__

+#define __ICompleteStatusSystem_FWD_DEFINED__

+typedef interface ICompleteStatusSystem ICompleteStatusSystem;

+

+#endif 	/* __ICompleteStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverSystem_FWD_DEFINED__

+#define __IUpdaterObserverSystem_FWD_DEFINED__

+typedef interface IUpdaterObserverSystem IUpdaterObserverSystem;

+

+#endif 	/* __IUpdaterObserverSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackSystem_FWD_DEFINED__

+#define __IUpdaterCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterCallbackSystem IUpdaterCallbackSystem;

+

+#endif 	/* __IUpdaterCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateSystem_FWD_DEFINED__

+#define __IUpdaterAppStateSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStateSystem IUpdaterAppStateSystem;

+

+#endif 	/* __IUpdaterAppStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackSystem IUpdaterAppStatesCallbackSystem;

+

+#endif 	/* __IUpdaterAppStatesCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterSystem_FWD_DEFINED__

+#define __IUpdaterSystem_FWD_DEFINED__

+typedef interface IUpdaterSystem IUpdaterSystem;

+

+#endif 	/* __IUpdaterSystem_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdateState_INTERFACE_DEFINED__

+#define __IUpdateState_INTERFACE_DEFINED__

+

+/* interface IUpdateState */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("4321A27B-0DDB-51D9-9E23-F05E56E1575F")

+    IUpdateState : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010);

+        

+        END_INTERFACE

+    } IUpdateStateVtbl;

+

+    interface IUpdateState

+    {

+        CONST_VTBL struct IUpdateStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateState_get_state(This,__MIDL__IUpdateState0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateState0000) ) 

+

+#define IUpdateState_get_appId(This,__MIDL__IUpdateState0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateState0001) ) 

+

+#define IUpdateState_get_nextVersion(This,__MIDL__IUpdateState0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateState0002) ) 

+

+#define IUpdateState_get_downloadedBytes(This,__MIDL__IUpdateState0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateState0003) ) 

+

+#define IUpdateState_get_totalBytes(This,__MIDL__IUpdateState0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateState0004) ) 

+

+#define IUpdateState_get_installProgress(This,__MIDL__IUpdateState0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateState0005) ) 

+

+#define IUpdateState_get_errorCategory(This,__MIDL__IUpdateState0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateState0006) ) 

+

+#define IUpdateState_get_errorCode(This,__MIDL__IUpdateState0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateState0007) ) 

+

+#define IUpdateState_get_extraCode1(This,__MIDL__IUpdateState0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateState0008) ) 

+

+#define IUpdateState_get_installerText(This,__MIDL__IUpdateState0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateState0009) ) 

+

+#define IUpdateState_get_installerCommandLine(This,__MIDL__IUpdateState0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateState0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdateStateSystem_INTERFACE_DEFINED__

+#define __IUpdateStateSystem_INTERFACE_DEFINED__

+

+/* interface IUpdateStateSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateStateSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("FDDEDE1D-4382-54AC-8E8B-FC002ACE8F58")

+    IUpdateStateSystem : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateSystem0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateSystem0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateSystem, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateSystem0010);

+        

+        END_INTERFACE

+    } IUpdateStateSystemVtbl;

+

+    interface IUpdateStateSystem

+    {

+        CONST_VTBL struct IUpdateStateSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateStateSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateStateSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateStateSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateStateSystem_get_state(This,__MIDL__IUpdateStateSystem0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateStateSystem0000) ) 

+

+#define IUpdateStateSystem_get_appId(This,__MIDL__IUpdateStateSystem0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateStateSystem0001) ) 

+

+#define IUpdateStateSystem_get_nextVersion(This,__MIDL__IUpdateStateSystem0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateStateSystem0002) ) 

+

+#define IUpdateStateSystem_get_downloadedBytes(This,__MIDL__IUpdateStateSystem0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateStateSystem0003) ) 

+

+#define IUpdateStateSystem_get_totalBytes(This,__MIDL__IUpdateStateSystem0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateStateSystem0004) ) 

+

+#define IUpdateStateSystem_get_installProgress(This,__MIDL__IUpdateStateSystem0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateStateSystem0005) ) 

+

+#define IUpdateStateSystem_get_errorCategory(This,__MIDL__IUpdateStateSystem0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateStateSystem0006) ) 

+

+#define IUpdateStateSystem_get_errorCode(This,__MIDL__IUpdateStateSystem0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateStateSystem0007) ) 

+

+#define IUpdateStateSystem_get_extraCode1(This,__MIDL__IUpdateStateSystem0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateStateSystem0008) ) 

+

+#define IUpdateStateSystem_get_installerText(This,__MIDL__IUpdateStateSystem0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateStateSystem0009) ) 

+

+#define IUpdateStateSystem_get_installerCommandLine(This,__MIDL__IUpdateStateSystem0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateStateSystem0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateStateSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_INTERFACE_DEFINED__

+#define __ICompleteStatus_INTERFACE_DEFINED__

+

+/* interface ICompleteStatus */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("D956A117-C8DC-5E7E-B439-964281AE5CD2")

+    ICompleteStatus : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001);

+        

+        END_INTERFACE

+    } ICompleteStatusVtbl;

+

+    interface ICompleteStatus

+    {

+        CONST_VTBL struct ICompleteStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatus_get_statusCode(This,__MIDL__ICompleteStatus0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatus0000) ) 

+

+#define ICompleteStatus_get_statusMessage(This,__MIDL__ICompleteStatus0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatus0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatusSystem_INTERFACE_DEFINED__

+#define __ICompleteStatusSystem_INTERFACE_DEFINED__

+

+/* interface ICompleteStatusSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatusSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A3F45C16-C2DB-5D49-8298-18C3F65F7640")

+    ICompleteStatusSystem : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusSystem0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatusSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusSystem, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatusSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusSystem0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusSystem, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatusSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusSystem0001);

+        

+        END_INTERFACE

+    } ICompleteStatusSystemVtbl;

+

+    interface ICompleteStatusSystem

+    {

+        CONST_VTBL struct ICompleteStatusSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatusSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatusSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatusSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatusSystem_get_statusCode(This,__MIDL__ICompleteStatusSystem0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatusSystem0000) ) 

+

+#define ICompleteStatusSystem_get_statusMessage(This,__MIDL__ICompleteStatusSystem0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatusSystem0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatusSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_INTERFACE_DEFINED__

+#define __IUpdaterObserver_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserver */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserver;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("29FEAEF3-81CA-598E-8437-1C3062EDBEF0")

+    IUpdaterObserver : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateState *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatus *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserver * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserver * This,

+            /* [in] */ IUpdateState *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserver * This,

+            /* [in] */ ICompleteStatus *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverVtbl;

+

+    interface IUpdaterObserver

+    {

+        CONST_VTBL struct IUpdaterObserverVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserver_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserver_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserver_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserver_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserver_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserver_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverSystem_INTERFACE_DEFINED__

+#define __IUpdaterObserverSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserverSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserverSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("07253A14-3971-54B3-A392-868A011907B4")

+    IUpdaterObserverSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateStateSystem *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatusSystem *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserverSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserverSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserverSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverSystem, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserverSystem * This,

+            /* [in] */ IUpdateStateSystem *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverSystem, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserverSystem * This,

+            /* [in] */ ICompleteStatusSystem *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverSystemVtbl;

+

+    interface IUpdaterObserverSystem

+    {

+        CONST_VTBL struct IUpdaterObserverSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserverSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserverSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserverSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserverSystem_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserverSystem_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserverSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_INTERFACE_DEFINED__

+#define __IUpdaterCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("687F8890-6651-55A5-9013-4EAB42DD5425")

+    IUpdaterCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackVtbl;

+

+    interface IUpdaterCallback

+    {

+        CONST_VTBL struct IUpdaterCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackSystem_INTERFACE_DEFINED__

+#define __IUpdaterCallbackSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallbackSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallbackSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("E68C83A6-74D4-5D33-9709-C923E6128CCD")

+    IUpdaterCallbackSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallbackSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallbackSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallbackSystem * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackSystemVtbl;

+

+    interface IUpdaterCallbackSystem

+    {

+        CONST_VTBL struct IUpdaterCallbackSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallbackSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallbackSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallbackSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallbackSystem_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallbackSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_INTERFACE_DEFINED__

+#define __IUpdaterAppState_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("480212D3-86FC-513D-8CCA-18B22912ADC5")

+    IUpdaterAppState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateVtbl;

+

+    interface IUpdaterAppState

+    {

+        CONST_VTBL struct IUpdaterAppStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppState_get_appId(This,__MIDL__IUpdaterAppState0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppState0000) ) 

+

+#define IUpdaterAppState_get_version(This,__MIDL__IUpdaterAppState0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppState0001) ) 

+

+#define IUpdaterAppState_get_ap(This,__MIDL__IUpdaterAppState0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppState0002) ) 

+

+#define IUpdaterAppState_get_brandCode(This,__MIDL__IUpdaterAppState0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppState0003) ) 

+

+#define IUpdaterAppState_get_brandPath(This,__MIDL__IUpdaterAppState0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppState0004) ) 

+

+#define IUpdaterAppState_get_ecp(This,__MIDL__IUpdaterAppState0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppState0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateSystem_INTERFACE_DEFINED__

+#define __IUpdaterAppStateSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStateSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStateSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("D72BD6EB-7586-5254-B2AB-CAFF8A168E14")

+    IUpdaterAppStateSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppStateSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppStateSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppStateSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateSystem, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateSystem0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateSystemVtbl;

+

+    interface IUpdaterAppStateSystem

+    {

+        CONST_VTBL struct IUpdaterAppStateSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStateSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStateSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStateSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStateSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppStateSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppStateSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppStateSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppStateSystem_get_appId(This,__MIDL__IUpdaterAppStateSystem0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppStateSystem0000) ) 

+

+#define IUpdaterAppStateSystem_get_version(This,__MIDL__IUpdaterAppStateSystem0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppStateSystem0001) ) 

+

+#define IUpdaterAppStateSystem_get_ap(This,__MIDL__IUpdaterAppStateSystem0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppStateSystem0002) ) 

+

+#define IUpdaterAppStateSystem_get_brandCode(This,__MIDL__IUpdaterAppStateSystem0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppStateSystem0003) ) 

+

+#define IUpdaterAppStateSystem_get_brandPath(This,__MIDL__IUpdaterAppStateSystem0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppStateSystem0004) ) 

+

+#define IUpdaterAppStateSystem_get_ecp(This,__MIDL__IUpdaterAppStateSystem0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppStateSystem0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStateSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("8FC6CF83-C4AB-54C5-89F6-ACFC3AF8D530")

+    IUpdaterAppStatesCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackVtbl;

+

+    interface IUpdaterAppStatesCallback

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallback_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackSystem_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallbackSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallbackSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallbackSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("542EE141-358F-5410-B49C-1DD3E7B5AE79")

+    IUpdaterAppStatesCallbackSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallbackSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallbackSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallbackSystem * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackSystemVtbl;

+

+    interface IUpdaterAppStatesCallbackSystem

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallbackSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallbackSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallbackSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallbackSystem_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallbackSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdater_INTERFACE_DEFINED__

+#define __IUpdater_INTERFACE_DEFINED__

+

+/* interface IUpdater */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdater;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("FB4FBB7F-5AA0-553B-A295-3AC8B8A7695E")

+    IUpdater : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdater * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdater * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdater, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterAppStatesCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterVtbl;

+

+    interface IUpdater

+    {

+        CONST_VTBL struct IUpdaterVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdater_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdater_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdater_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdater_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdater_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdater_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdater_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdater_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdater_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdater_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdater_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdater_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdater_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterSystem_INTERFACE_DEFINED__

+#define __IUpdaterSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("156F778B-FDF7-5213-B65F-D22733A6C776")

+    IUpdaterSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverSystem *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallbackSystem *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdaterSystem * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdaterSystem * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverSystem *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterSystem, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdaterSystem * This,

+            /* [in] */ IUpdaterAppStatesCallbackSystem *callback);

+        

+        END_INTERFACE

+    } IUpdaterSystemVtbl;

+

+    interface IUpdaterSystem

+    {

+        CONST_VTBL struct IUpdaterSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterSystem_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdaterSystem_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdaterSystem_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdaterSystem_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdaterSystem_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterSystem_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterSystem_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdaterSystem_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdaterSystem_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdaterSystem_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdaterSystem_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterSystem_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLib_LIBRARY_DEFINED__

+#define __UpdaterLib_LIBRARY_DEFINED__

+

+/* library UpdaterLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLib;

+

+EXTERN_C const CLSID CLSID_UpdaterUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("7066AC5D-7C1A-5CBB-BE27-FDEE86B296C0")

+UpdaterUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("3AB14B3B-0999-5922-94D5-41746D546D1D")

+UpdaterSystemClass;

+#endif

+#endif /* __UpdaterLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system.tlb
new file mode 100644
index 0000000..420af69
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system_i.c
new file mode 100644
index 0000000..615e134c
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system_i.c
@@ -0,0 +1,127 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_system.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateState,0x4321A27B,0x0DDB,0x51D9,0x9E,0x23,0xF0,0x5E,0x56,0xE1,0x57,0x5F);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateStateSystem,0xFDDEDE1D,0x4382,0x54AC,0x8E,0x8B,0xFC,0x00,0x2A,0xCE,0x8F,0x58);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatus,0xD956A117,0xC8DC,0x5E7E,0xB4,0x39,0x96,0x42,0x81,0xAE,0x5C,0xD2);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatusSystem,0xA3F45C16,0xC2DB,0x5D49,0x82,0x98,0x18,0xC3,0xF6,0x5F,0x76,0x40);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserver,0x29FEAEF3,0x81CA,0x598E,0x84,0x37,0x1C,0x30,0x62,0xED,0xBE,0xF0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserverSystem,0x07253A14,0x3971,0x54B3,0xA3,0x92,0x86,0x8A,0x01,0x19,0x07,0xB4);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallback,0x687F8890,0x6651,0x55A5,0x90,0x13,0x4E,0xAB,0x42,0xDD,0x54,0x25);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallbackSystem,0xE68C83A6,0x74D4,0x5D33,0x97,0x09,0xC9,0x23,0xE6,0x12,0x8C,0xCD);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppState,0x480212D3,0x86FC,0x513D,0x8C,0xCA,0x18,0xB2,0x29,0x12,0xAD,0xC5);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStateSystem,0xD72BD6EB,0x7586,0x5254,0xB2,0xAB,0xCA,0xFF,0x8A,0x16,0x8E,0x14);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallback,0x8FC6CF83,0xC4AB,0x54C5,0x89,0xF6,0xAC,0xFC,0x3A,0xF8,0xD5,0x30);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallbackSystem,0x542EE141,0x358F,0x5410,0xB4,0x9C,0x1D,0xD3,0xE7,0xB5,0xAE,0x79);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdater,0xFB4FBB7F,0x5AA0,0x553B,0xA2,0x95,0x3A,0xC8,0xB8,0xA7,0x69,0x5E);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterSystem,0x156F778B,0xFDF7,0x5213,0xB6,0x5F,0xD2,0x27,0x33,0xA6,0xC7,0x76);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLib,0xF3CA052C,0x145C,0x54D0,0x88,0x2F,0x61,0x09,0x2B,0xCD,0xEE,0xE8);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterUserClass,0x7066AC5D,0x7C1A,0x5CBB,0xBE,0x27,0xFD,0xEE,0x86,0xB2,0x96,0xC0);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterSystemClass,0x3AB14B3B,0x0999,0x5922,0x94,0xD5,0x41,0x74,0x6D,0x54,0x6D,0x1D);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system_p.c
new file mode 100644
index 0000000..4d778ec
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_system_p.c
@@ -0,0 +1,4081 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_system.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */

+

+#pragma optimize("", off ) 

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_idl_system.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1245                              

+#define PROC_FORMAT_STRING_SIZE   1837                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_idl_system_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_idl_system_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_idl_system_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_idl_system_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_idl_system_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_idl_system_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_idl_system_MIDL_TYPE_FORMAT_STRING updater_idl_system__MIDL_TypeFormatString;

+extern const updater_idl_system_MIDL_PROC_FORMAT_STRING updater_idl_system__MIDL_ProcFormatString;

+extern const updater_idl_system_MIDL_EXPR_FORMAT_STRING updater_idl_system__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateStateSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateStateSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatusSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatusSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserverSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallbackSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStateSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallbackSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdater_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterSystem_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_WIN32__)

+#error  Invalid build platform for this stub.

+#endif

+

+#if !(TARGET_IS_NT50_OR_LATER)

+#error You need Windows 2000 or later to run this stub because it uses these features:

+#error   /robust command line switch.

+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.

+#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.

+#endif

+

+

+static const updater_idl_system_MIDL_PROC_FORMAT_STRING updater_idl_system__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_state */

+

+

+	/* Procedure get_state */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusSystem0000 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0000 */

+

+

+	/* Parameter __MIDL__IUpdateStateSystem0000 */

+

+

+	/* Parameter __MIDL__IUpdateState0000 */

+

+/* 24 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 26 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 28 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 30 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 32 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 36 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 38 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 42 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 44 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 46 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 50 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 52 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 54 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusSystem0001 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0001 */

+

+

+	/* Parameter __MIDL__IUpdateStateSystem0001 */

+

+

+	/* Parameter __MIDL__IUpdateState0001 */

+

+/* 60 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 62 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 64 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 66 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 68 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 70 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersion */

+

+

+	/* Procedure get_nextVersion */

+

+/* 72 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 74 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 78 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 80 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 88 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 90 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 92 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0002 */

+

+

+	/* Parameter __MIDL__IUpdateState0002 */

+

+/* 96 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 98 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 100 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 102 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 104 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 106 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadedBytes */

+

+

+	/* Procedure get_downloadedBytes */

+

+/* 108 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 110 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 114 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 116 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 118 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 122 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 124 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 126 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 130 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0003 */

+

+

+	/* Parameter __MIDL__IUpdateState0003 */

+

+/* 132 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 134 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 136 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 138 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 140 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 142 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_totalBytes */

+

+

+	/* Procedure get_totalBytes */

+

+/* 144 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 146 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 150 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 152 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 154 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 156 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 158 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 160 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 166 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0004 */

+

+

+	/* Parameter __MIDL__IUpdateState0004 */

+

+/* 168 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 170 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 172 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 174 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 176 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 178 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 180 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 182 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 186 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 188 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 190 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 192 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 194 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 196 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 198 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 200 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 202 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0005 */

+

+

+	/* Parameter __MIDL__IUpdateState0005 */

+

+/* 204 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 206 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 208 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 210 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 212 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 214 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCategory */

+

+

+	/* Procedure get_errorCategory */

+

+/* 216 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 218 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 222 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 224 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 226 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 228 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 230 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 232 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 234 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 236 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 238 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0006 */

+

+

+	/* Parameter __MIDL__IUpdateState0006 */

+

+/* 240 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 242 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 244 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 246 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 248 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 250 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 252 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 254 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 258 */	NdrFcShort( 0xa ),	/* 10 */

+/* 260 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 262 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 264 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 266 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 268 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 272 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 274 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0007 */

+

+

+	/* Parameter __MIDL__IUpdateState0007 */

+

+/* 276 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 278 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 280 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 282 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 284 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 286 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 288 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 290 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 294 */	NdrFcShort( 0xb ),	/* 11 */

+/* 296 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 298 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 300 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 302 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 304 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 306 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 308 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 310 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0008 */

+

+

+	/* Parameter __MIDL__IUpdateState0008 */

+

+/* 312 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 314 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 316 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 318 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 320 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 322 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_installerText */

+

+

+	/* Procedure get_installerText */

+

+/* 324 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 326 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 330 */	NdrFcShort( 0xc ),	/* 12 */

+/* 332 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 336 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 338 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 340 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 342 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 344 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 346 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0005 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0005 */

+

+

+	/* Parameter __MIDL__IUpdateStateSystem0009 */

+

+

+	/* Parameter __MIDL__IUpdateState0009 */

+

+/* 348 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 350 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 352 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 354 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 356 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 358 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerCommandLine */

+

+

+	/* Procedure get_installerCommandLine */

+

+/* 360 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 362 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 366 */	NdrFcShort( 0xd ),	/* 13 */

+/* 368 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 370 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 372 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 374 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 376 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 378 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 380 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 382 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateSystem0010 */

+

+

+	/* Parameter __MIDL__IUpdateState0010 */

+

+/* 384 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 386 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 388 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 390 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 392 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 394 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 396 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 398 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 402 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 404 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 406 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 410 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 412 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 414 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 416 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 418 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter update_state */

+

+/* 420 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 422 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 424 */	NdrFcShort( 0x32 ),	/* Type Offset=50 */

+

+	/* Return value */

+

+/* 426 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 428 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 430 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 432 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 434 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 438 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 440 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 446 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 448 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 452 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 454 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter status */

+

+/* 456 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 458 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 460 */	NdrFcShort( 0x44 ),	/* Type Offset=68 */

+

+	/* Return value */

+

+/* 462 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 464 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 466 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 468 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 470 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 474 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 476 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 480 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 482 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 484 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 490 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter update_state */

+

+/* 492 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 494 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 496 */	NdrFcShort( 0x56 ),	/* Type Offset=86 */

+

+	/* Return value */

+

+/* 498 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 500 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 502 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 504 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 506 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 510 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 512 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 516 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 518 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 520 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 524 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 526 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter status */

+

+/* 528 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 530 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 532 */	NdrFcShort( 0x68 ),	/* Type Offset=104 */

+

+	/* Return value */

+

+/* 534 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 536 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 538 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 540 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 542 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 546 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 548 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 550 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 552 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 554 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 556 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 562 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 564 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 566 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 568 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 570 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 572 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 574 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 576 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 578 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 582 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 584 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 588 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 590 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 592 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 594 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 596 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 598 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0000 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0000 */

+

+/* 600 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 602 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 604 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 606 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 608 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 610 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+/* 612 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 614 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 618 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 620 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 622 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 624 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 626 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 628 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 630 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 634 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0001 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0001 */

+

+/* 636 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 638 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 640 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 642 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 644 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 646 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ap */

+

+

+	/* Procedure get_ap */

+

+/* 648 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 650 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 654 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 656 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 660 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 662 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 664 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 666 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 668 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 670 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0002 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0002 */

+

+/* 672 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 674 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 676 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 678 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 680 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 682 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandCode */

+

+

+	/* Procedure get_brandCode */

+

+/* 684 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 686 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 690 */	NdrFcShort( 0xa ),	/* 10 */

+/* 692 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 694 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 698 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 700 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 702 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 706 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0003 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0003 */

+

+/* 708 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 710 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 712 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 714 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 716 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 718 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandPath */

+

+

+	/* Procedure get_brandPath */

+

+/* 720 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 722 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 726 */	NdrFcShort( 0xb ),	/* 11 */

+/* 728 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 730 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 732 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 734 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 736 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 738 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 740 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 742 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateSystem0004 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0004 */

+

+/* 744 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 746 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 748 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 750 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 752 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 754 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 756 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 758 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 762 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 764 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 766 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 768 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 770 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 772 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 774 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 776 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 778 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_states */

+

+

+	/* Parameter app_states */

+

+/* 780 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 782 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 784 */	NdrFcShort( 0x462 ),	/* Type Offset=1122 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 786 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 788 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 790 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetVersion */

+

+

+	/* Procedure GetVersion */

+

+/* 792 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 794 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 798 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 800 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 802 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 804 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 806 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 808 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 810 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 812 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 814 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+/* 816 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 818 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 820 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 822 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 824 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 826 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 828 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 830 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 834 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 836 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 838 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 840 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 842 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 844 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 850 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 852 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 854 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 856 */	NdrFcShort( 0x46c ),	/* Type Offset=1132 */

+

+	/* Return value */

+

+/* 858 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 860 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 862 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 864 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 866 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 870 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 872 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 874 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 876 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 878 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 880 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 882 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 884 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 886 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 888 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 890 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 892 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_code */

+

+/* 894 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 896 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 898 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_path */

+

+/* 900 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 902 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 904 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter tag */

+

+/* 906 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 908 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 910 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter version */

+

+/* 912 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 914 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 916 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter existence_checker_path */

+

+/* 918 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 920 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 922 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter callback */

+

+/* 924 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 926 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 928 */	NdrFcShort( 0x46c ),	/* Type Offset=1132 */

+

+	/* Return value */

+

+/* 930 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 932 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 934 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 936 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 938 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 942 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 944 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 946 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 948 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 950 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 952 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 954 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 956 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 958 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 960 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 962 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 964 */	NdrFcShort( 0x46c ),	/* Type Offset=1132 */

+

+	/* Return value */

+

+/* 966 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 968 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 970 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 972 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 974 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 978 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 980 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 982 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 984 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 986 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 988 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 990 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 992 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 994 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 996 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 998 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1000 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1002 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1004 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1006 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1008 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1010 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1012 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1014 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1016 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1018 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1020 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1022 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1024 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1026 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1028 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1032 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1034 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1036 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1038 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1040 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1042 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1044 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1050 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1052 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1054 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data_index */

+

+/* 1056 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1058 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1060 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1062 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1064 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1066 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1068 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1070 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1072 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1074 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1076 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1078 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1080 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1082 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1084 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1086 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1088 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1092 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1094 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1096 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1098 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1100 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1102 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1104 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1108 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter observer */

+

+/* 1110 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1112 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1114 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1116 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1118 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1120 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1122 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1124 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1128 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1130 */	NdrFcShort( 0x30 ),	/* x86 Stack size/offset = 48 */

+/* 1132 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1134 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1136 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1138 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1144 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1146 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1148 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1150 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_code */

+

+/* 1152 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1154 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1156 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_path */

+

+/* 1158 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1160 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1162 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter tag */

+

+/* 1164 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1166 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1168 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter version */

+

+/* 1170 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1172 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1174 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter existence_checker_path */

+

+/* 1176 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1178 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1180 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter client_install_data */

+

+/* 1182 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1184 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1186 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data_index */

+

+/* 1188 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1190 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1192 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1194 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1196 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 1198 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1200 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1202 */	NdrFcShort( 0x28 ),	/* x86 Stack size/offset = 40 */

+/* 1204 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1206 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1208 */	NdrFcShort( 0x2c ),	/* x86 Stack size/offset = 44 */

+/* 1210 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CancelInstalls */

+

+

+	/* Procedure CancelInstalls */

+

+/* 1212 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1214 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1218 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1220 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1222 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1224 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1226 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1228 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1230 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1234 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1236 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1238 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1240 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1242 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1244 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1246 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1248 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1250 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1254 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1256 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1258 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1260 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1262 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 1264 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1266 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1270 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1272 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1274 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1276 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter installer_path */

+

+/* 1278 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1280 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1282 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_args */

+

+/* 1284 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1286 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1288 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data */

+

+/* 1290 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1292 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1294 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_settings */

+

+/* 1296 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1298 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1300 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter observer */

+

+/* 1302 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1304 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1306 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1308 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1310 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1312 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1314 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1316 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1320 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1322 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1326 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1328 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1330 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1332 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1336 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1338 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1340 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1342 */	NdrFcShort( 0x494 ),	/* Type Offset=1172 */

+

+	/* Return value */

+

+/* 1344 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1346 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1348 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 1350 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1352 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1356 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1358 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1360 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1362 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1364 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1366 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1368 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1370 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1372 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1374 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1376 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1378 */	NdrFcShort( 0x4a6 ),	/* Type Offset=1190 */

+

+	/* Return value */

+

+/* 1380 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1382 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1384 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 1386 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1388 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1392 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1394 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 1396 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1400 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 1402 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1406 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1408 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1410 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1412 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1414 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_code */

+

+/* 1416 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1418 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1420 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_path */

+

+/* 1422 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1424 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1426 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter tag */

+

+/* 1428 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1430 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1432 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter version */

+

+/* 1434 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1436 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1438 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter existence_checker_path */

+

+/* 1440 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1442 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1444 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter callback */

+

+/* 1446 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1448 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1450 */	NdrFcShort( 0x4a6 ),	/* Type Offset=1190 */

+

+	/* Return value */

+

+/* 1452 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1454 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1456 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 1458 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1460 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1464 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1466 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1468 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1470 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1472 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1474 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1480 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1482 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1484 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1486 */	NdrFcShort( 0x4a6 ),	/* Type Offset=1190 */

+

+	/* Return value */

+

+/* 1488 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1490 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1492 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1494 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1496 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1500 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1502 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1504 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1506 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1508 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1510 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1512 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1516 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1518 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1520 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1522 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1524 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1526 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1528 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1530 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1532 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1534 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1536 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1538 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1540 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1542 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1544 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1546 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1548 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1550 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1554 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1556 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1558 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1560 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1562 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1564 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1568 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1570 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1572 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1574 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1576 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data_index */

+

+/* 1578 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1580 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1582 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1584 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1586 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1588 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1590 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1592 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1594 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1596 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1598 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1600 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1602 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1604 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1606 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1608 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1610 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1614 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1616 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1618 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1620 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1622 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1624 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1626 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1630 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter observer */

+

+/* 1632 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1634 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1636 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1638 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1640 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1642 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1644 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1646 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1650 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1652 */	NdrFcShort( 0x30 ),	/* x86 Stack size/offset = 48 */

+/* 1654 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1656 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1658 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1660 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1662 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1664 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1666 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1668 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1670 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1672 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_code */

+

+/* 1674 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1676 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1678 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_path */

+

+/* 1680 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1682 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1684 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter tag */

+

+/* 1686 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1688 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1690 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter version */

+

+/* 1692 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1694 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1696 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter existence_checker_path */

+

+/* 1698 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1700 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1702 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter client_install_data */

+

+/* 1704 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1706 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1708 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data_index */

+

+/* 1710 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1712 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1714 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1716 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1718 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 1720 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1722 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1724 */	NdrFcShort( 0x28 ),	/* x86 Stack size/offset = 40 */

+/* 1726 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1728 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1730 */	NdrFcShort( 0x2c ),	/* x86 Stack size/offset = 44 */

+/* 1732 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1734 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1736 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1740 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1742 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1746 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1748 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 1750 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1752 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1756 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1758 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1760 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1762 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter installer_path */

+

+/* 1764 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1766 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1768 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_args */

+

+/* 1770 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1772 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1774 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data */

+

+/* 1776 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1778 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1780 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_settings */

+

+/* 1782 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1784 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1786 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter observer */

+

+/* 1788 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1790 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1792 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1794 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1796 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1798 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1800 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1802 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1806 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1808 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1810 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1812 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1814 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1816 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1822 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1824 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1826 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1828 */	NdrFcShort( 0x4ca ),	/* Type Offset=1226 */

+

+	/* Return value */

+

+/* 1830 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1832 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1834 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_idl_system_MIDL_TYPE_FORMAT_STRING updater_idl_system__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/*  4 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/*  6 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  8 */	NdrFcShort( 0x1c ),	/* Offset= 28 (36) */

+/* 10 */	

+			0x13, 0x0,	/* FC_OP */

+/* 12 */	NdrFcShort( 0xe ),	/* Offset= 14 (26) */

+/* 14 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 16 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 18 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 20 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 22 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 24 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 26 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 28 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 30 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (14) */

+/* 32 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 34 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 36 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 42 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0xffde ),	/* Offset= -34 (10) */

+/* 46 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 48 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x4321a27b ),	/* 1126277755 */

+/* 56 */	NdrFcShort( 0xddb ),	/* 3547 */

+/* 58 */	NdrFcShort( 0x51d9 ),	/* 20953 */

+/* 60 */	0x9e,		/* 158 */

+			0x23,		/* 35 */

+/* 62 */	0xf0,		/* 240 */

+			0x5e,		/* 94 */

+/* 64 */	0x56,		/* 86 */

+			0xe1,		/* 225 */

+/* 66 */	0x57,		/* 87 */

+			0x5f,		/* 95 */

+/* 68 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 70 */	NdrFcLong( 0xd956a117 ),	/* -648634089 */

+/* 74 */	NdrFcShort( 0xc8dc ),	/* -14116 */

+/* 76 */	NdrFcShort( 0x5e7e ),	/* 24190 */

+/* 78 */	0xb4,		/* 180 */

+			0x39,		/* 57 */

+/* 80 */	0x96,		/* 150 */

+			0x42,		/* 66 */

+/* 82 */	0x81,		/* 129 */

+			0xae,		/* 174 */

+/* 84 */	0x5c,		/* 92 */

+			0xd2,		/* 210 */

+/* 86 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 88 */	NdrFcLong( 0xfddede1d ),	/* -35725795 */

+/* 92 */	NdrFcShort( 0x4382 ),	/* 17282 */

+/* 94 */	NdrFcShort( 0x54ac ),	/* 21676 */

+/* 96 */	0x8e,		/* 142 */

+			0x8b,		/* 139 */

+/* 98 */	0xfc,		/* 252 */

+			0x0,		/* 0 */

+/* 100 */	0x2a,		/* 42 */

+			0xce,		/* 206 */

+/* 102 */	0x8f,		/* 143 */

+			0x58,		/* 88 */

+/* 104 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 106 */	NdrFcLong( 0xa3f45c16 ),	/* -1544266730 */

+/* 110 */	NdrFcShort( 0xc2db ),	/* -15653 */

+/* 112 */	NdrFcShort( 0x5d49 ),	/* 23881 */

+/* 114 */	0x82,		/* 130 */

+			0x98,		/* 152 */

+/* 116 */	0x18,		/* 24 */

+			0xc3,		/* 195 */

+/* 118 */	0xf6,		/* 246 */

+			0x5f,		/* 95 */

+/* 120 */	0x76,		/* 118 */

+			0x40,		/* 64 */

+/* 122 */	

+			0x12, 0x0,	/* FC_UP */

+/* 124 */	NdrFcShort( 0x3d2 ),	/* Offset= 978 (1102) */

+/* 126 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 128 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 130 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 132 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 134 */	NdrFcShort( 0x2 ),	/* Offset= 2 (136) */

+/* 136 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 138 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 140 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 144 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 146 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 150 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 152 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 156 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 158 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 162 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 164 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 168 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 170 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 174 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 176 */	NdrFcLong( 0xb ),	/* 11 */

+/* 180 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 182 */	NdrFcLong( 0xa ),	/* 10 */

+/* 186 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 188 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 192 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (424) */

+/* 194 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 198 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 200 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 204 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (430) */

+/* 206 */	NdrFcLong( 0xd ),	/* 13 */

+/* 210 */	NdrFcShort( 0xe0 ),	/* Offset= 224 (434) */

+/* 212 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 216 */	NdrFcShort( 0xec ),	/* Offset= 236 (452) */

+/* 218 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 222 */	NdrFcShort( 0xf8 ),	/* Offset= 248 (470) */

+/* 224 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 228 */	NdrFcShort( 0x320 ),	/* Offset= 800 (1028) */

+/* 230 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 234 */	NdrFcShort( 0x31a ),	/* Offset= 794 (1028) */

+/* 236 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 240 */	NdrFcShort( 0x318 ),	/* Offset= 792 (1032) */

+/* 242 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 246 */	NdrFcShort( 0x316 ),	/* Offset= 790 (1036) */

+/* 248 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 252 */	NdrFcShort( 0x314 ),	/* Offset= 788 (1040) */

+/* 254 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 258 */	NdrFcShort( 0x312 ),	/* Offset= 786 (1044) */

+/* 260 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 264 */	NdrFcShort( 0x310 ),	/* Offset= 784 (1048) */

+/* 266 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 270 */	NdrFcShort( 0x30e ),	/* Offset= 782 (1052) */

+/* 272 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 276 */	NdrFcShort( 0x2f8 ),	/* Offset= 760 (1036) */

+/* 278 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 282 */	NdrFcShort( 0x2f6 ),	/* Offset= 758 (1040) */

+/* 284 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 288 */	NdrFcShort( 0x300 ),	/* Offset= 768 (1056) */

+/* 290 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 294 */	NdrFcShort( 0x2f6 ),	/* Offset= 758 (1052) */

+/* 296 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 300 */	NdrFcShort( 0x2f8 ),	/* Offset= 760 (1060) */

+/* 302 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 306 */	NdrFcShort( 0x2f6 ),	/* Offset= 758 (1064) */

+/* 308 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 312 */	NdrFcShort( 0x2f4 ),	/* Offset= 756 (1068) */

+/* 314 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 318 */	NdrFcShort( 0x2f2 ),	/* Offset= 754 (1072) */

+/* 320 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 324 */	NdrFcShort( 0x2f0 ),	/* Offset= 752 (1076) */

+/* 326 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 330 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 332 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 336 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 338 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 342 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 344 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 348 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 350 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 354 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 356 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 360 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 362 */	NdrFcLong( 0xe ),	/* 14 */

+/* 366 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (1084) */

+/* 368 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 372 */	NdrFcShort( 0x2d2 ),	/* Offset= 722 (1094) */

+/* 374 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 378 */	NdrFcShort( 0x2d0 ),	/* Offset= 720 (1098) */

+/* 380 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 384 */	NdrFcShort( 0x28c ),	/* Offset= 652 (1036) */

+/* 386 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 390 */	NdrFcShort( 0x28a ),	/* Offset= 650 (1040) */

+/* 392 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 396 */	NdrFcShort( 0x288 ),	/* Offset= 648 (1044) */

+/* 398 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 402 */	NdrFcShort( 0x27e ),	/* Offset= 638 (1040) */

+/* 404 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 408 */	NdrFcShort( 0x278 ),	/* Offset= 632 (1040) */

+/* 410 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 414 */	NdrFcShort( 0x0 ),	/* Offset= 0 (414) */

+/* 416 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 420 */	NdrFcShort( 0x0 ),	/* Offset= 0 (420) */

+/* 422 */	NdrFcShort( 0xffff ),	/* Offset= -1 (421) */

+/* 424 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 426 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 428 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 430 */	

+			0x12, 0x0,	/* FC_UP */

+/* 432 */	NdrFcShort( 0xfe6a ),	/* Offset= -406 (26) */

+/* 434 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 436 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 440 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 444 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 446 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 448 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 450 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 452 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 454 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 458 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 460 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 462 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 464 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 466 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 468 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 470 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 472 */	NdrFcShort( 0x2 ),	/* Offset= 2 (474) */

+/* 474 */	

+			0x12, 0x0,	/* FC_UP */

+/* 476 */	NdrFcShort( 0x216 ),	/* Offset= 534 (1010) */

+/* 478 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x49,		/* 73 */

+/* 480 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 482 */	NdrFcShort( 0xa ),	/* 10 */

+/* 484 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 488 */	NdrFcShort( 0x5a ),	/* Offset= 90 (578) */

+/* 490 */	NdrFcLong( 0xd ),	/* 13 */

+/* 494 */	NdrFcShort( 0x7e ),	/* Offset= 126 (620) */

+/* 496 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 500 */	NdrFcShort( 0x9e ),	/* Offset= 158 (658) */

+/* 502 */	NdrFcLong( 0xc ),	/* 12 */

+/* 506 */	NdrFcShort( 0xc8 ),	/* Offset= 200 (706) */

+/* 508 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 512 */	NdrFcShort( 0x124 ),	/* Offset= 292 (804) */

+/* 514 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 518 */	NdrFcShort( 0x140 ),	/* Offset= 320 (838) */

+/* 520 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 524 */	NdrFcShort( 0x15a ),	/* Offset= 346 (870) */

+/* 526 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 530 */	NdrFcShort( 0x174 ),	/* Offset= 372 (902) */

+/* 532 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 536 */	NdrFcShort( 0x18e ),	/* Offset= 398 (934) */

+/* 538 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 542 */	NdrFcShort( 0x1a8 ),	/* Offset= 424 (966) */

+/* 544 */	NdrFcShort( 0xffff ),	/* Offset= -1 (543) */

+/* 546 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 548 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 550 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 554 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 556 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 558 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 560 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 562 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 564 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 568 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 570 */	0x12, 0x0,	/* FC_UP */

+/* 572 */	NdrFcShort( 0xfdde ),	/* Offset= -546 (26) */

+/* 574 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 576 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 578 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 580 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 582 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 584 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 586 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 588 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 590 */	0x11, 0x0,	/* FC_RP */

+/* 592 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (546) */

+/* 594 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 596 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 598 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 600 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 602 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 606 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 608 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 612 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 614 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 616 */	NdrFcShort( 0xff4a ),	/* Offset= -182 (434) */

+/* 618 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 620 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 622 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 624 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 626 */	NdrFcShort( 0x6 ),	/* Offset= 6 (632) */

+/* 628 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 630 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 632 */	

+			0x11, 0x0,	/* FC_RP */

+/* 634 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (598) */

+/* 636 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 638 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 640 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 644 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 646 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 650 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 652 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 654 */	NdrFcShort( 0xff36 ),	/* Offset= -202 (452) */

+/* 656 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 658 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 660 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 662 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 664 */	NdrFcShort( 0x6 ),	/* Offset= 6 (670) */

+/* 666 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 668 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 670 */	

+			0x11, 0x0,	/* FC_RP */

+/* 672 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (636) */

+/* 674 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 676 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 678 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 680 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 682 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 684 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 686 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 688 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 690 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 692 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 694 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 698 */	0x12, 0x0,	/* FC_UP */

+/* 700 */	NdrFcShort( 0x192 ),	/* Offset= 402 (1102) */

+/* 702 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 704 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 706 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 708 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	NdrFcShort( 0x6 ),	/* Offset= 6 (718) */

+/* 714 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 716 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 718 */	

+			0x11, 0x0,	/* FC_RP */

+/* 720 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (674) */

+/* 722 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 724 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 728 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 730 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 732 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 734 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 736 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 738 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 740 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 742 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 744 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 746 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 748 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 750 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 752 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 754 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 758 */	NdrFcShort( 0xa ),	/* Offset= 10 (768) */

+/* 760 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 762 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 764 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (722) */

+/* 766 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 768 */	

+			0x12, 0x0,	/* FC_UP */

+/* 770 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (740) */

+/* 772 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 774 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 776 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 778 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 780 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 782 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 784 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 786 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 788 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 790 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 792 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 794 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 796 */	0x12, 0x0,	/* FC_UP */

+/* 798 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (752) */

+/* 800 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 802 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 804 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 806 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x6 ),	/* Offset= 6 (816) */

+/* 812 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 814 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 816 */	

+			0x11, 0x0,	/* FC_RP */

+/* 818 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (772) */

+/* 820 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 822 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 824 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 826 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 828 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 830 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 832 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 834 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (820) */

+			0x5b,		/* FC_END */

+/* 838 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 840 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 842 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 844 */	NdrFcShort( 0xa ),	/* Offset= 10 (854) */

+/* 846 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 848 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 850 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (826) */

+/* 852 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 854 */	

+			0x11, 0x0,	/* FC_RP */

+/* 856 */	NdrFcShort( 0xfefe ),	/* Offset= -258 (598) */

+/* 858 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 860 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 862 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 868 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 870 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 872 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 874 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 876 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 878 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 880 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 882 */	0x12, 0x0,	/* FC_UP */

+/* 884 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (858) */

+/* 886 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 888 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 890 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 892 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 894 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 896 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 898 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 900 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 902 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 904 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 906 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 908 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 910 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 912 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 914 */	0x12, 0x0,	/* FC_UP */

+/* 916 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (890) */

+/* 918 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 920 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 922 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 924 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 926 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 930 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 932 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 934 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 936 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 938 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 940 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 942 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 944 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 946 */	0x12, 0x0,	/* FC_UP */

+/* 948 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (922) */

+/* 950 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 952 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 954 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 956 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 958 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 960 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 962 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 964 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 966 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 968 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 970 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 972 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 974 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 976 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 978 */	0x12, 0x0,	/* FC_UP */

+/* 980 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (954) */

+/* 982 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 984 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 986 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 988 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 990 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 992 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 994 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 996 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 998 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 1000 */	NdrFcShort( 0xffd8 ),	/* -40 */

+/* 1002 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 1004 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1006 */	NdrFcShort( 0xffec ),	/* Offset= -20 (986) */

+/* 1008 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1010 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 1012 */	NdrFcShort( 0x28 ),	/* 40 */

+/* 1014 */	NdrFcShort( 0xffec ),	/* Offset= -20 (994) */

+/* 1016 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1016) */

+/* 1018 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1020 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1022 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1024 */	NdrFcShort( 0xfdde ),	/* Offset= -546 (478) */

+/* 1026 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1028 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1030 */	NdrFcShort( 0xfeea ),	/* Offset= -278 (752) */

+/* 1032 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1034 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 1036 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1038 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 1040 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1042 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 1044 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1046 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 1048 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1050 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 1052 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1054 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1056 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1058 */	NdrFcShort( 0xfd86 ),	/* Offset= -634 (424) */

+/* 1060 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1062 */	NdrFcShort( 0xfd88 ),	/* Offset= -632 (430) */

+/* 1064 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1066 */	NdrFcShort( 0xfd88 ),	/* Offset= -632 (434) */

+/* 1068 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1070 */	NdrFcShort( 0xfd96 ),	/* Offset= -618 (452) */

+/* 1072 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1074 */	NdrFcShort( 0xfda4 ),	/* Offset= -604 (470) */

+/* 1076 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1078 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1080) */

+/* 1080 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1082 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1102) */

+/* 1084 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 1086 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1088 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 1090 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 1092 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 1094 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1096 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1084) */

+/* 1098 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1100 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1102 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1104 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1108 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1108) */

+/* 1110 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1112 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1114 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1116 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1118 */	NdrFcShort( 0xfc20 ),	/* Offset= -992 (126) */

+/* 1120 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1122 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1124 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1126 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1130 */	NdrFcShort( 0xfc10 ),	/* Offset= -1008 (122) */

+/* 1132 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1134 */	NdrFcLong( 0x687f8890 ),	/* 1753188496 */

+/* 1138 */	NdrFcShort( 0x6651 ),	/* 26193 */

+/* 1140 */	NdrFcShort( 0x55a5 ),	/* 21925 */

+/* 1142 */	0x90,		/* 144 */

+			0x13,		/* 19 */

+/* 1144 */	0x4e,		/* 78 */

+			0xab,		/* 171 */

+/* 1146 */	0x42,		/* 66 */

+			0xdd,		/* 221 */

+/* 1148 */	0x54,		/* 84 */

+			0x25,		/* 37 */

+/* 1150 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1152 */	

+			0x25,		/* FC_C_WSTRING */

+			0x5c,		/* FC_PAD */

+/* 1154 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1156 */	NdrFcLong( 0x29feaef3 ),	/* 704556787 */

+/* 1160 */	NdrFcShort( 0x81ca ),	/* -32310 */

+/* 1162 */	NdrFcShort( 0x598e ),	/* 22926 */

+/* 1164 */	0x84,		/* 132 */

+			0x37,		/* 55 */

+/* 1166 */	0x1c,		/* 28 */

+			0x30,		/* 48 */

+/* 1168 */	0x62,		/* 98 */

+			0xed,		/* 237 */

+/* 1170 */	0xbe,		/* 190 */

+			0xf0,		/* 240 */

+/* 1172 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1174 */	NdrFcLong( 0x8fc6cf83 ),	/* -1882796157 */

+/* 1178 */	NdrFcShort( 0xc4ab ),	/* -15189 */

+/* 1180 */	NdrFcShort( 0x54c5 ),	/* 21701 */

+/* 1182 */	0x89,		/* 137 */

+			0xf6,		/* 246 */

+/* 1184 */	0xac,		/* 172 */

+			0xfc,		/* 252 */

+/* 1186 */	0x3a,		/* 58 */

+			0xf8,		/* 248 */

+/* 1188 */	0xd5,		/* 213 */

+			0x30,		/* 48 */

+/* 1190 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1192 */	NdrFcLong( 0xe68c83a6 ),	/* -426998874 */

+/* 1196 */	NdrFcShort( 0x74d4 ),	/* 29908 */

+/* 1198 */	NdrFcShort( 0x5d33 ),	/* 23859 */

+/* 1200 */	0x97,		/* 151 */

+			0x9,		/* 9 */

+/* 1202 */	0xc9,		/* 201 */

+			0x23,		/* 35 */

+/* 1204 */	0xe6,		/* 230 */

+			0x12,		/* 18 */

+/* 1206 */	0x8c,		/* 140 */

+			0xcd,		/* 205 */

+/* 1208 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1210 */	NdrFcLong( 0x7253a14 ),	/* 119880212 */

+/* 1214 */	NdrFcShort( 0x3971 ),	/* 14705 */

+/* 1216 */	NdrFcShort( 0x54b3 ),	/* 21683 */

+/* 1218 */	0xa3,		/* 163 */

+			0x92,		/* 146 */

+/* 1220 */	0x86,		/* 134 */

+			0x8a,		/* 138 */

+/* 1222 */	0x1,		/* 1 */

+			0x19,		/* 25 */

+/* 1224 */	0x7,		/* 7 */

+			0xb4,		/* 180 */

+/* 1226 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1228 */	NdrFcLong( 0x542ee141 ),	/* 1412358465 */

+/* 1232 */	NdrFcShort( 0x358f ),	/* 13711 */

+/* 1234 */	NdrFcShort( 0x5410 ),	/* 21520 */

+/* 1236 */	0xb4,		/* 180 */

+			0x9c,		/* 156 */

+/* 1238 */	0x1d,		/* 29 */

+			0xd3,		/* 211 */

+/* 1240 */	0xe7,		/* 231 */

+			0xb5,		/* 181 */

+/* 1242 */	0xae,		/* 174 */

+			0x79,		/* 121 */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdateState, ver. 0.0,

+   GUID={0x4321A27B,0x0DDB,0x51D9,{0x9E,0x23,0xF0,0x5E,0x56,0xE1,0x57,0x5F}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateState_FormatStringOffsetTable[] =

+    {

+    0,

+    36,

+    72,

+    108,

+    144,

+    180,

+    216,

+    252,

+    288,

+    324,

+    360

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateProxyVtbl = 

+{

+    &IUpdateState_ProxyInfo,

+    &IID_IUpdateState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateStubVtbl =

+{

+    &IID_IUpdateState,

+    &IUpdateState_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdateStateSystem, ver. 0.0,

+   GUID={0xFDDEDE1D,0x4382,0x54AC,{0x8E,0x8B,0xFC,0x00,0x2A,0xCE,0x8F,0x58}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateStateSystem_FormatStringOffsetTable[] =

+    {

+    0,

+    36,

+    72,

+    108,

+    144,

+    180,

+    216,

+    252,

+    288,

+    324,

+    360

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateStateSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateStateSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdateStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateSystemProxyVtbl = 

+{

+    &IUpdateStateSystem_ProxyInfo,

+    &IID_IUpdateStateSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateSystem::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateSystemStubVtbl =

+{

+    &IID_IUpdateStateSystem,

+    &IUpdateStateSystem_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatus, ver. 0.0,

+   GUID={0xD956A117,0xC8DC,0x5E7E,{0xB4,0x39,0x96,0x42,0x81,0xAE,0x5C,0xD2}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatus_FormatStringOffsetTable[] =

+    {

+    0,

+    36

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusProxyVtbl = 

+{

+    &ICompleteStatus_ProxyInfo,

+    &IID_ICompleteStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusStubVtbl =

+{

+    &IID_ICompleteStatus,

+    &ICompleteStatus_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatusSystem, ver. 0.0,

+   GUID={0xA3F45C16,0xC2DB,0x5D49,{0x82,0x98,0x18,0xC3,0xF6,0x5F,0x76,0x40}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatusSystem_FormatStringOffsetTable[] =

+    {

+    0,

+    36

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatusSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatusSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &ICompleteStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusSystemProxyVtbl = 

+{

+    &ICompleteStatusSystem_ProxyInfo,

+    &IID_ICompleteStatusSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusSystem::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusSystem::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusSystemStubVtbl =

+{

+    &IID_ICompleteStatusSystem,

+    &ICompleteStatusSystem_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserver, ver. 0.0,

+   GUID={0x29FEAEF3,0x81CA,0x598E,{0x84,0x37,0x1C,0x30,0x62,0xED,0xBE,0xF0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserver_FormatStringOffsetTable[] =

+    {

+    396,

+    432

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverProxyVtbl = 

+{

+    &IUpdaterObserver_ProxyInfo,

+    &IID_IUpdaterObserver,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverStubVtbl =

+{

+    &IID_IUpdaterObserver,

+    &IUpdaterObserver_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserverSystem, ver. 0.0,

+   GUID={0x07253A14,0x3971,0x54B3,{0xA3,0x92,0x86,0x8A,0x01,0x19,0x07,0xB4}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserverSystem_FormatStringOffsetTable[] =

+    {

+    468,

+    504

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserverSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverSystemProxyVtbl = 

+{

+    &IUpdaterObserverSystem_ProxyInfo,

+    &IID_IUpdaterObserverSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverSystem::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverSystem::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverSystemStubVtbl =

+{

+    &IID_IUpdaterObserverSystem,

+    &IUpdaterObserverSystem_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallback, ver. 0.0,

+   GUID={0x687F8890,0x6651,0x55A5,{0x90,0x13,0x4E,0xAB,0x42,0xDD,0x54,0x25}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallback_FormatStringOffsetTable[] =

+    {

+    540

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackProxyVtbl = 

+{

+    &IUpdaterCallback_ProxyInfo,

+    &IID_IUpdaterCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackStubVtbl =

+{

+    &IID_IUpdaterCallback,

+    &IUpdaterCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallbackSystem, ver. 0.0,

+   GUID={0xE68C83A6,0x74D4,0x5D33,{0x97,0x09,0xC9,0x23,0xE6,0x12,0x8C,0xCD}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallbackSystem_FormatStringOffsetTable[] =

+    {

+    540

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallbackSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackSystemProxyVtbl = 

+{

+    &IUpdaterCallbackSystem_ProxyInfo,

+    &IID_IUpdaterCallbackSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallbackSystem::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackSystemStubVtbl =

+{

+    &IID_IUpdaterCallbackSystem,

+    &IUpdaterCallbackSystem_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterAppState, ver. 0.0,

+   GUID={0x480212D3,0x86FC,0x513D,{0x8C,0xCA,0x18,0xB2,0x29,0x12,0xAD,0xC5}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    576,

+    612,

+    648,

+    684,

+    720,

+    324

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateProxyVtbl = 

+{

+    &IUpdaterAppState_ProxyInfo,

+    &IID_IUpdaterAppState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateStubVtbl =

+{

+    &IID_IUpdaterAppState,

+    &IUpdaterAppState_ServerInfo,

+    13,

+    &IUpdaterAppState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStateSystem, ver. 0.0,

+   GUID={0xD72BD6EB,0x7586,0x5254,{0xB2,0xAB,0xCA,0xFF,0x8A,0x16,0x8E,0x14}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStateSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    576,

+    612,

+    648,

+    684,

+    720,

+    324

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStateSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateSystemProxyVtbl = 

+{

+    &IUpdaterAppStateSystem_ProxyInfo,

+    &IID_IUpdaterAppStateSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateSystem::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppStateSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateSystemStubVtbl =

+{

+    &IID_IUpdaterAppStateSystem,

+    &IUpdaterAppStateSystem_ServerInfo,

+    13,

+    &IUpdaterAppStateSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallback, ver. 0.0,

+   GUID={0x8FC6CF83,0xC4AB,0x54C5,{0x89,0xF6,0xAC,0xFC,0x3A,0xF8,0xD5,0x30}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallback_FormatStringOffsetTable[] =

+    {

+    756

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackProxyVtbl = 

+{

+    &IUpdaterAppStatesCallback_ProxyInfo,

+    &IID_IUpdaterAppStatesCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallback,

+    &IUpdaterAppStatesCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallbackSystem, ver. 0.0,

+   GUID={0x542EE141,0x358F,0x5410,{0xB4,0x9C,0x1D,0xD3,0xE7,0xB5,0xAE,0x79}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallbackSystem_FormatStringOffsetTable[] =

+    {

+    756

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallbackSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackSystemProxyVtbl = 

+{

+    &IUpdaterAppStatesCallbackSystem_ProxyInfo,

+    &IID_IUpdaterAppStatesCallbackSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallbackSystem::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackSystemStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallbackSystem,

+    &IUpdaterAppStatesCallbackSystem_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdater, ver. 0.0,

+   GUID={0xFB4FBB7F,0x5AA0,0x553B,{0xA2,0x95,0x3A,0xC8,0xB8,0xA7,0x69,0x5E}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdater_FormatStringOffsetTable[] =

+    {

+    792,

+    828,

+    864,

+    936,

+    972,

+    1026,

+    1086,

+    1122,

+    1212,

+    1248,

+    1314

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdater_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterProxyVtbl = 

+{

+    &IUpdater_ProxyInfo,

+    &IID_IUpdater,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterStubVtbl =

+{

+    &IID_IUpdater,

+    &IUpdater_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterSystem, ver. 0.0,

+   GUID={0x156F778B,0xFDF7,0x5213,{0xB6,0x5F,0xD2,0x27,0x33,0xA6,0xC7,0x76}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterSystem_FormatStringOffsetTable[] =

+    {

+    792,

+    1350,

+    1386,

+    1458,

+    1494,

+    1548,

+    1608,

+    1644,

+    1212,

+    1734,

+    1800

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterSystemProxyVtbl = 

+{

+    &IUpdaterSystem_ProxyInfo,

+    &IID_IUpdaterSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterSystem::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterSystemStubVtbl =

+{

+    &IID_IUpdaterSystem,

+    &IUpdaterSystem_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_idl_system__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_idl_system_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdateStateSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdateStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_idl_system_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdateStateSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdateStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_idl_system_InterfaceNamesList[] = 

+{

+    "IUpdaterObserverSystem",

+    "ICompleteStatusSystem",

+    "ICompleteStatus",

+    "IUpdateStateSystem",

+    "IUpdaterAppStatesCallbackSystem",

+    "IUpdateState",

+    "IUpdater",

+    "IUpdaterAppStatesCallback",

+    "IUpdaterSystem",

+    "IUpdaterCallback",

+    "IUpdaterCallbackSystem",

+    "IUpdaterAppState",

+    "IUpdaterAppStateSystem",

+    "IUpdaterObserver",

+    0

+};

+

+const IID *  const _updater_idl_system_BaseIIDList[] = 

+{

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0,

+    0

+};

+

+

+#define _updater_idl_system_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_idl_system, pIID, n)

+

+int __stdcall _updater_idl_system_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_idl_system, 14, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_system, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_system, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_system, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_idl_system, 14, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_idl_system_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_idl_system_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_idl_system_StubVtblList,

+    (const PCInterfaceName * ) & _updater_idl_system_InterfaceNamesList,

+    (const IID ** ) & _updater_idl_system_BaseIIDList,

+    & _updater_idl_system_IID_Lookup, 

+    14,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user.dlldata.c
new file mode 100644
index 0000000..bc466fc
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_idl_user )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_idl_user ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user.h
new file mode 100644
index 0000000..f9fd953
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user.h
@@ -0,0 +1,2284 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_user.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_idl_user_h__

+#define __updater_idl_user_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdateState_FWD_DEFINED__

+#define __IUpdateState_FWD_DEFINED__

+typedef interface IUpdateState IUpdateState;

+

+#endif 	/* __IUpdateState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateUser_FWD_DEFINED__

+#define __IUpdateStateUser_FWD_DEFINED__

+typedef interface IUpdateStateUser IUpdateStateUser;

+

+#endif 	/* __IUpdateStateUser_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_FWD_DEFINED__

+#define __ICompleteStatus_FWD_DEFINED__

+typedef interface ICompleteStatus ICompleteStatus;

+

+#endif 	/* __ICompleteStatus_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusUser_FWD_DEFINED__

+#define __ICompleteStatusUser_FWD_DEFINED__

+typedef interface ICompleteStatusUser ICompleteStatusUser;

+

+#endif 	/* __ICompleteStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_FWD_DEFINED__

+#define __IUpdaterObserver_FWD_DEFINED__

+typedef interface IUpdaterObserver IUpdaterObserver;

+

+#endif 	/* __IUpdaterObserver_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverUser_FWD_DEFINED__

+#define __IUpdaterObserverUser_FWD_DEFINED__

+typedef interface IUpdaterObserverUser IUpdaterObserverUser;

+

+#endif 	/* __IUpdaterObserverUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_FWD_DEFINED__

+#define __IUpdaterCallback_FWD_DEFINED__

+typedef interface IUpdaterCallback IUpdaterCallback;

+

+#endif 	/* __IUpdaterCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackUser_FWD_DEFINED__

+#define __IUpdaterCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterCallbackUser IUpdaterCallbackUser;

+

+#endif 	/* __IUpdaterCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateUser_FWD_DEFINED__

+#define __IUpdaterAppStateUser_FWD_DEFINED__

+typedef interface IUpdaterAppStateUser IUpdaterAppStateUser;

+

+#endif 	/* __IUpdaterAppStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_FWD_DEFINED__

+#define __IUpdaterAppStatesCallback_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallback IUpdaterAppStatesCallback;

+

+#endif 	/* __IUpdaterAppStatesCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackUser IUpdaterAppStatesCallbackUser;

+

+#endif 	/* __IUpdaterAppStatesCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdater_FWD_DEFINED__

+#define __IUpdater_FWD_DEFINED__

+typedef interface IUpdater IUpdater;

+

+#endif 	/* __IUpdater_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterUser_FWD_DEFINED__

+#define __IUpdaterUser_FWD_DEFINED__

+typedef interface IUpdaterUser IUpdaterUser;

+

+#endif 	/* __IUpdaterUser_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterUserClass_FWD_DEFINED__

+#define __UpdaterUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterUserClass UpdaterUserClass;

+#else

+typedef struct UpdaterUserClass UpdaterUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterSystemClass_FWD_DEFINED__

+#define __UpdaterSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterSystemClass UpdaterSystemClass;

+#else

+typedef struct UpdaterSystemClass UpdaterSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdateStateUser_FWD_DEFINED__

+#define __IUpdateStateUser_FWD_DEFINED__

+typedef interface IUpdateStateUser IUpdateStateUser;

+

+#endif 	/* __IUpdateStateUser_FWD_DEFINED__ */

+

+

+#ifndef __ICompleteStatusUser_FWD_DEFINED__

+#define __ICompleteStatusUser_FWD_DEFINED__

+typedef interface ICompleteStatusUser ICompleteStatusUser;

+

+#endif 	/* __ICompleteStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverUser_FWD_DEFINED__

+#define __IUpdaterObserverUser_FWD_DEFINED__

+typedef interface IUpdaterObserverUser IUpdaterObserverUser;

+

+#endif 	/* __IUpdaterObserverUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackUser_FWD_DEFINED__

+#define __IUpdaterCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterCallbackUser IUpdaterCallbackUser;

+

+#endif 	/* __IUpdaterCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_FWD_DEFINED__

+#define __IUpdaterAppState_FWD_DEFINED__

+typedef interface IUpdaterAppState IUpdaterAppState;

+

+#endif 	/* __IUpdaterAppState_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateUser_FWD_DEFINED__

+#define __IUpdaterAppStateUser_FWD_DEFINED__

+typedef interface IUpdaterAppStateUser IUpdaterAppStateUser;

+

+#endif 	/* __IUpdaterAppStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+#define __IUpdaterAppStatesCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterAppStatesCallbackUser IUpdaterAppStatesCallbackUser;

+

+#endif 	/* __IUpdaterAppStatesCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterUser_FWD_DEFINED__

+#define __IUpdaterUser_FWD_DEFINED__

+typedef interface IUpdaterUser IUpdaterUser;

+

+#endif 	/* __IUpdaterUser_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdateState_INTERFACE_DEFINED__

+#define __IUpdateState_INTERFACE_DEFINED__

+

+/* interface IUpdateState */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("4321A27B-0DDB-51D9-9E23-F05E56E1575F")

+    IUpdateState : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateState * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateState * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateState0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateState, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateState0010);

+        

+        END_INTERFACE

+    } IUpdateStateVtbl;

+

+    interface IUpdateState

+    {

+        CONST_VTBL struct IUpdateStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateState_get_state(This,__MIDL__IUpdateState0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateState0000) ) 

+

+#define IUpdateState_get_appId(This,__MIDL__IUpdateState0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateState0001) ) 

+

+#define IUpdateState_get_nextVersion(This,__MIDL__IUpdateState0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateState0002) ) 

+

+#define IUpdateState_get_downloadedBytes(This,__MIDL__IUpdateState0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateState0003) ) 

+

+#define IUpdateState_get_totalBytes(This,__MIDL__IUpdateState0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateState0004) ) 

+

+#define IUpdateState_get_installProgress(This,__MIDL__IUpdateState0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateState0005) ) 

+

+#define IUpdateState_get_errorCategory(This,__MIDL__IUpdateState0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateState0006) ) 

+

+#define IUpdateState_get_errorCode(This,__MIDL__IUpdateState0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateState0007) ) 

+

+#define IUpdateState_get_extraCode1(This,__MIDL__IUpdateState0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateState0008) ) 

+

+#define IUpdateState_get_installerText(This,__MIDL__IUpdateState0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateState0009) ) 

+

+#define IUpdateState_get_installerCommandLine(This,__MIDL__IUpdateState0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateState0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdateStateUser_INTERFACE_DEFINED__

+#define __IUpdateStateUser_INTERFACE_DEFINED__

+

+/* interface IUpdateStateUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdateStateUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("BFE8D555-69B7-5621-B1C9-67E46EB33010")

+    IUpdateStateUser : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_state( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersion( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadedBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytes( 

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCategory( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerText( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0010) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdateStateUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdateStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdateStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdateStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_state)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_state )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0000);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0001);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_nextVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersion )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0002);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_downloadedBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadedBytes )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0003);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_totalBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytes )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONGLONG *__MIDL__IUpdateStateUser0004);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0005);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_errorCategory)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCategory )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0006);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0007);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__IUpdateStateUser0008);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_installerText)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerText )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0009);

+        

+        DECLSPEC_XFGVIRT(IUpdateStateUser, get_installerCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerCommandLine )( 

+            IUpdateStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdateStateUser0010);

+        

+        END_INTERFACE

+    } IUpdateStateUserVtbl;

+

+    interface IUpdateStateUser

+    {

+        CONST_VTBL struct IUpdateStateUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdateStateUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdateStateUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdateStateUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdateStateUser_get_state(This,__MIDL__IUpdateStateUser0000)	\

+    ( (This)->lpVtbl -> get_state(This,__MIDL__IUpdateStateUser0000) ) 

+

+#define IUpdateStateUser_get_appId(This,__MIDL__IUpdateStateUser0001)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdateStateUser0001) ) 

+

+#define IUpdateStateUser_get_nextVersion(This,__MIDL__IUpdateStateUser0002)	\

+    ( (This)->lpVtbl -> get_nextVersion(This,__MIDL__IUpdateStateUser0002) ) 

+

+#define IUpdateStateUser_get_downloadedBytes(This,__MIDL__IUpdateStateUser0003)	\

+    ( (This)->lpVtbl -> get_downloadedBytes(This,__MIDL__IUpdateStateUser0003) ) 

+

+#define IUpdateStateUser_get_totalBytes(This,__MIDL__IUpdateStateUser0004)	\

+    ( (This)->lpVtbl -> get_totalBytes(This,__MIDL__IUpdateStateUser0004) ) 

+

+#define IUpdateStateUser_get_installProgress(This,__MIDL__IUpdateStateUser0005)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__IUpdateStateUser0005) ) 

+

+#define IUpdateStateUser_get_errorCategory(This,__MIDL__IUpdateStateUser0006)	\

+    ( (This)->lpVtbl -> get_errorCategory(This,__MIDL__IUpdateStateUser0006) ) 

+

+#define IUpdateStateUser_get_errorCode(This,__MIDL__IUpdateStateUser0007)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__IUpdateStateUser0007) ) 

+

+#define IUpdateStateUser_get_extraCode1(This,__MIDL__IUpdateStateUser0008)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__IUpdateStateUser0008) ) 

+

+#define IUpdateStateUser_get_installerText(This,__MIDL__IUpdateStateUser0009)	\

+    ( (This)->lpVtbl -> get_installerText(This,__MIDL__IUpdateStateUser0009) ) 

+

+#define IUpdateStateUser_get_installerCommandLine(This,__MIDL__IUpdateStateUser0010)	\

+    ( (This)->lpVtbl -> get_installerCommandLine(This,__MIDL__IUpdateStateUser0010) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdateStateUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatus_INTERFACE_DEFINED__

+#define __ICompleteStatus_INTERFACE_DEFINED__

+

+/* interface ICompleteStatus */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("D956A117-C8DC-5E7E-B439-964281AE5CD2")

+    ICompleteStatus : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatus * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatus0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatus, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatus * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatus0001);

+        

+        END_INTERFACE

+    } ICompleteStatusVtbl;

+

+    interface ICompleteStatus

+    {

+        CONST_VTBL struct ICompleteStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatus_get_statusCode(This,__MIDL__ICompleteStatus0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatus0000) ) 

+

+#define ICompleteStatus_get_statusMessage(This,__MIDL__ICompleteStatus0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatus0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICompleteStatusUser_INTERFACE_DEFINED__

+#define __ICompleteStatusUser_INTERFACE_DEFINED__

+

+/* interface ICompleteStatusUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_ICompleteStatusUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("0EDF6229-1198-5BDF-9297-C6C4E433D2F0")

+    ICompleteStatusUser : public IUnknown

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusCode( 

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_statusMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusUser0001) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICompleteStatusUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICompleteStatusUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICompleteStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICompleteStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusUser, get_statusCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusCode )( 

+            ICompleteStatusUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICompleteStatusUser0000);

+        

+        DECLSPEC_XFGVIRT(ICompleteStatusUser, get_statusMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_statusMessage )( 

+            ICompleteStatusUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICompleteStatusUser0001);

+        

+        END_INTERFACE

+    } ICompleteStatusUserVtbl;

+

+    interface ICompleteStatusUser

+    {

+        CONST_VTBL struct ICompleteStatusUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICompleteStatusUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICompleteStatusUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICompleteStatusUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICompleteStatusUser_get_statusCode(This,__MIDL__ICompleteStatusUser0000)	\

+    ( (This)->lpVtbl -> get_statusCode(This,__MIDL__ICompleteStatusUser0000) ) 

+

+#define ICompleteStatusUser_get_statusMessage(This,__MIDL__ICompleteStatusUser0001)	\

+    ( (This)->lpVtbl -> get_statusMessage(This,__MIDL__ICompleteStatusUser0001) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICompleteStatusUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserver_INTERFACE_DEFINED__

+#define __IUpdaterObserver_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserver */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserver;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("29FEAEF3-81CA-598E-8437-1C3062EDBEF0")

+    IUpdaterObserver : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateState *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatus *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserver * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserver * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserver * This,

+            /* [in] */ IUpdateState *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserver, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserver * This,

+            /* [in] */ ICompleteStatus *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverVtbl;

+

+    interface IUpdaterObserver

+    {

+        CONST_VTBL struct IUpdaterObserverVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserver_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserver_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserver_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserver_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserver_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserver_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterObserverUser_INTERFACE_DEFINED__

+#define __IUpdaterObserverUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterObserverUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterObserverUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("8696EC8B-846B-5B6A-85D3-43C5C8B7B3EB")

+    IUpdaterObserverUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE OnStateChange( 

+            /* [in] */ IUpdateStateUser *update_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE OnComplete( 

+            /* [in] */ ICompleteStatusUser *status) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterObserverUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterObserverUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterObserverUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterObserverUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverUser, OnStateChange)

+        HRESULT ( STDMETHODCALLTYPE *OnStateChange )( 

+            IUpdaterObserverUser * This,

+            /* [in] */ IUpdateStateUser *update_state);

+        

+        DECLSPEC_XFGVIRT(IUpdaterObserverUser, OnComplete)

+        HRESULT ( STDMETHODCALLTYPE *OnComplete )( 

+            IUpdaterObserverUser * This,

+            /* [in] */ ICompleteStatusUser *status);

+        

+        END_INTERFACE

+    } IUpdaterObserverUserVtbl;

+

+    interface IUpdaterObserverUser

+    {

+        CONST_VTBL struct IUpdaterObserverUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterObserverUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterObserverUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterObserverUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterObserverUser_OnStateChange(This,update_state)	\

+    ( (This)->lpVtbl -> OnStateChange(This,update_state) ) 

+

+#define IUpdaterObserverUser_OnComplete(This,status)	\

+    ( (This)->lpVtbl -> OnComplete(This,status) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterObserverUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallback_INTERFACE_DEFINED__

+#define __IUpdaterCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("687F8890-6651-55A5-9013-4EAB42DD5425")

+    IUpdaterCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackVtbl;

+

+    interface IUpdaterCallback

+    {

+        CONST_VTBL struct IUpdaterCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterCallbackUser_INTERFACE_DEFINED__

+#define __IUpdaterCallbackUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterCallbackUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterCallbackUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7B080EA4-6C28-5353-BEB5-4503AE8E0D38")

+    IUpdaterCallbackUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterCallbackUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterCallbackUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterCallbackUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterCallbackUser * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterCallbackUserVtbl;

+

+    interface IUpdaterCallbackUser

+    {

+        CONST_VTBL struct IUpdaterCallbackUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterCallbackUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterCallbackUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterCallbackUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterCallbackUser_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterCallbackUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppState_INTERFACE_DEFINED__

+#define __IUpdaterAppState_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("480212D3-86FC-513D-8CCA-18B22912ADC5")

+    IUpdaterAppState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppState, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppState * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppState0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateVtbl;

+

+    interface IUpdaterAppState

+    {

+        CONST_VTBL struct IUpdaterAppStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppState_get_appId(This,__MIDL__IUpdaterAppState0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppState0000) ) 

+

+#define IUpdaterAppState_get_version(This,__MIDL__IUpdaterAppState0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppState0001) ) 

+

+#define IUpdaterAppState_get_ap(This,__MIDL__IUpdaterAppState0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppState0002) ) 

+

+#define IUpdaterAppState_get_brandCode(This,__MIDL__IUpdaterAppState0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppState0003) ) 

+

+#define IUpdaterAppState_get_brandPath(This,__MIDL__IUpdaterAppState0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppState0004) ) 

+

+#define IUpdaterAppState_get_ecp(This,__MIDL__IUpdaterAppState0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppState0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppState_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStateUser_INTERFACE_DEFINED__

+#define __IUpdaterAppStateUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStateUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStateUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("C6F7A4BE-43E3-5DCF-90D7-0F9815BAE1E2")

+    IUpdaterAppStateUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ap( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandCode( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_brandPath( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_ecp( 

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0005) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStateUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IUpdaterAppStateUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IUpdaterAppStateUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IUpdaterAppStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IUpdaterAppStateUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0000);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0001);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_ap)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ap )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0002);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_brandCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandCode )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0003);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_brandPath)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_brandPath )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0004);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStateUser, get_ecp)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_ecp )( 

+            IUpdaterAppStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IUpdaterAppStateUser0005);

+        

+        END_INTERFACE

+    } IUpdaterAppStateUserVtbl;

+

+    interface IUpdaterAppStateUser

+    {

+        CONST_VTBL struct IUpdaterAppStateUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStateUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStateUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStateUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStateUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IUpdaterAppStateUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IUpdaterAppStateUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IUpdaterAppStateUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IUpdaterAppStateUser_get_appId(This,__MIDL__IUpdaterAppStateUser0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IUpdaterAppStateUser0000) ) 

+

+#define IUpdaterAppStateUser_get_version(This,__MIDL__IUpdaterAppStateUser0001)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IUpdaterAppStateUser0001) ) 

+

+#define IUpdaterAppStateUser_get_ap(This,__MIDL__IUpdaterAppStateUser0002)	\

+    ( (This)->lpVtbl -> get_ap(This,__MIDL__IUpdaterAppStateUser0002) ) 

+

+#define IUpdaterAppStateUser_get_brandCode(This,__MIDL__IUpdaterAppStateUser0003)	\

+    ( (This)->lpVtbl -> get_brandCode(This,__MIDL__IUpdaterAppStateUser0003) ) 

+

+#define IUpdaterAppStateUser_get_brandPath(This,__MIDL__IUpdaterAppStateUser0004)	\

+    ( (This)->lpVtbl -> get_brandPath(This,__MIDL__IUpdaterAppStateUser0004) ) 

+

+#define IUpdaterAppStateUser_get_ecp(This,__MIDL__IUpdaterAppStateUser0005)	\

+    ( (This)->lpVtbl -> get_ecp(This,__MIDL__IUpdaterAppStateUser0005) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStateUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("8FC6CF83-C4AB-54C5-89F6-ACFC3AF8D530")

+    IUpdaterAppStatesCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallback * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackVtbl;

+

+    interface IUpdaterAppStatesCallback

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallback_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterAppStatesCallbackUser_INTERFACE_DEFINED__

+#define __IUpdaterAppStatesCallbackUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterAppStatesCallbackUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterAppStatesCallbackUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("B2A5589B-4CBD-55B7-AA79-EA4D0B3D8B2C")

+    IUpdaterAppStatesCallbackUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ VARIANT app_states) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterAppStatesCallbackUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterAppStatesCallbackUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterAppStatesCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterAppStatesCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterAppStatesCallbackUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterAppStatesCallbackUser * This,

+            /* [in] */ VARIANT app_states);

+        

+        END_INTERFACE

+    } IUpdaterAppStatesCallbackUserVtbl;

+

+    interface IUpdaterAppStatesCallbackUser

+    {

+        CONST_VTBL struct IUpdaterAppStatesCallbackUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterAppStatesCallbackUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterAppStatesCallbackUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterAppStatesCallbackUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterAppStatesCallbackUser_Run(This,app_states)	\

+    ( (This)->lpVtbl -> Run(This,app_states) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterAppStatesCallbackUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdater_INTERFACE_DEFINED__

+#define __IUpdater_INTERFACE_DEFINED__

+

+/* interface IUpdater */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdater;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("FB4FBB7F-5AA0-553B-A295-3AC8B8A7695E")

+    IUpdater : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdater * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdater * This);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdater * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdater, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdater, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdater * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserver *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdater, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdater * This,

+            /* [in] */ IUpdaterAppStatesCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterVtbl;

+

+    interface IUpdater

+    {

+        CONST_VTBL struct IUpdaterVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdater_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdater_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdater_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdater_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdater_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdater_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdater_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdater_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdater_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdater_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdater_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdater_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdater_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdater_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterUser_INTERFACE_DEFINED__

+#define __IUpdaterUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("4359A05A-E8EB-57BA-AC49-88A894EA98D9")

+    IUpdaterUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE GetVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE FetchPolicies( 

+            /* [in] */ IUpdaterCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RegisterApp( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunPeriodicTasks( 

+            /* [in] */ IUpdaterCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CheckForUpdate( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Update( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE UpdateAll( 

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Install( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE CancelInstalls( 

+            /* [string][in] */ const WCHAR *app_id) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE RunInstaller( 

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverUser *observer) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE GetAppStates( 

+            /* [in] */ IUpdaterAppStatesCallbackUser *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, GetVersion)

+        HRESULT ( STDMETHODCALLTYPE *GetVersion )( 

+            IUpdaterUser * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, FetchPolicies)

+        HRESULT ( STDMETHODCALLTYPE *FetchPolicies )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, RegisterApp)

+        HRESULT ( STDMETHODCALLTYPE *RegisterApp )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [in] */ IUpdaterCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, RunPeriodicTasks)

+        HRESULT ( STDMETHODCALLTYPE *RunPeriodicTasks )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, CheckForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *CheckForUpdate )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, Update)

+        HRESULT ( STDMETHODCALLTYPE *Update )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ BOOL same_version_update_allowed,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, UpdateAll)

+        HRESULT ( STDMETHODCALLTYPE *UpdateAll )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, Install)

+        HRESULT ( STDMETHODCALLTYPE *Install )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *brand_code,

+            /* [string][in] */ const WCHAR *brand_path,

+            /* [string][in] */ const WCHAR *tag,

+            /* [string][in] */ const WCHAR *version,

+            /* [string][in] */ const WCHAR *existence_checker_path,

+            /* [string][in] */ const WCHAR *client_install_data,

+            /* [string][in] */ const WCHAR *install_data_index,

+            /* [in] */ LONG priority,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, CancelInstalls)

+        HRESULT ( STDMETHODCALLTYPE *CancelInstalls )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, RunInstaller)

+        HRESULT ( STDMETHODCALLTYPE *RunInstaller )( 

+            IUpdaterUser * This,

+            /* [string][in] */ const WCHAR *app_id,

+            /* [string][in] */ const WCHAR *installer_path,

+            /* [string][in] */ const WCHAR *install_args,

+            /* [string][in] */ const WCHAR *install_data,

+            /* [string][in] */ const WCHAR *install_settings,

+            /* [in] */ IUpdaterObserverUser *observer);

+        

+        DECLSPEC_XFGVIRT(IUpdaterUser, GetAppStates)

+        HRESULT ( STDMETHODCALLTYPE *GetAppStates )( 

+            IUpdaterUser * This,

+            /* [in] */ IUpdaterAppStatesCallbackUser *callback);

+        

+        END_INTERFACE

+    } IUpdaterUserVtbl;

+

+    interface IUpdaterUser

+    {

+        CONST_VTBL struct IUpdaterUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterUser_GetVersion(This,version)	\

+    ( (This)->lpVtbl -> GetVersion(This,version) ) 

+

+#define IUpdaterUser_FetchPolicies(This,callback)	\

+    ( (This)->lpVtbl -> FetchPolicies(This,callback) ) 

+

+#define IUpdaterUser_RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback)	\

+    ( (This)->lpVtbl -> RegisterApp(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,callback) ) 

+

+#define IUpdaterUser_RunPeriodicTasks(This,callback)	\

+    ( (This)->lpVtbl -> RunPeriodicTasks(This,callback) ) 

+

+#define IUpdaterUser_CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> CheckForUpdate(This,app_id,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterUser_Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer)	\

+    ( (This)->lpVtbl -> Update(This,app_id,install_data_index,priority,same_version_update_allowed,observer) ) 

+

+#define IUpdaterUser_UpdateAll(This,observer)	\

+    ( (This)->lpVtbl -> UpdateAll(This,observer) ) 

+

+#define IUpdaterUser_Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer)	\

+    ( (This)->lpVtbl -> Install(This,app_id,brand_code,brand_path,tag,version,existence_checker_path,client_install_data,install_data_index,priority,observer) ) 

+

+#define IUpdaterUser_CancelInstalls(This,app_id)	\

+    ( (This)->lpVtbl -> CancelInstalls(This,app_id) ) 

+

+#define IUpdaterUser_RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer)	\

+    ( (This)->lpVtbl -> RunInstaller(This,app_id,installer_path,install_args,install_data,install_settings,observer) ) 

+

+#define IUpdaterUser_GetAppStates(This,callback)	\

+    ( (This)->lpVtbl -> GetAppStates(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterUser_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLib_LIBRARY_DEFINED__

+#define __UpdaterLib_LIBRARY_DEFINED__

+

+/* library UpdaterLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLib;

+

+EXTERN_C const CLSID CLSID_UpdaterUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("7066AC5D-7C1A-5CBB-BE27-FDEE86B296C0")

+UpdaterUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("3AB14B3B-0999-5922-94D5-41746D546D1D")

+UpdaterSystemClass;

+#endif

+#endif /* __UpdaterLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user.tlb
new file mode 100644
index 0000000..9dbbd8e
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user_i.c
new file mode 100644
index 0000000..7606b15
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user_i.c
@@ -0,0 +1,127 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_user.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateState,0x4321A27B,0x0DDB,0x51D9,0x9E,0x23,0xF0,0x5E,0x56,0xE1,0x57,0x5F);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdateStateUser,0xBFE8D555,0x69B7,0x5621,0xB1,0xC9,0x67,0xE4,0x6E,0xB3,0x30,0x10);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatus,0xD956A117,0xC8DC,0x5E7E,0xB4,0x39,0x96,0x42,0x81,0xAE,0x5C,0xD2);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICompleteStatusUser,0x0EDF6229,0x1198,0x5BDF,0x92,0x97,0xC6,0xC4,0xE4,0x33,0xD2,0xF0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserver,0x29FEAEF3,0x81CA,0x598E,0x84,0x37,0x1C,0x30,0x62,0xED,0xBE,0xF0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterObserverUser,0x8696EC8B,0x846B,0x5B6A,0x85,0xD3,0x43,0xC5,0xC8,0xB7,0xB3,0xEB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallback,0x687F8890,0x6651,0x55A5,0x90,0x13,0x4E,0xAB,0x42,0xDD,0x54,0x25);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterCallbackUser,0x7B080EA4,0x6C28,0x5353,0xBE,0xB5,0x45,0x03,0xAE,0x8E,0x0D,0x38);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppState,0x480212D3,0x86FC,0x513D,0x8C,0xCA,0x18,0xB2,0x29,0x12,0xAD,0xC5);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStateUser,0xC6F7A4BE,0x43E3,0x5DCF,0x90,0xD7,0x0F,0x98,0x15,0xBA,0xE1,0xE2);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallback,0x8FC6CF83,0xC4AB,0x54C5,0x89,0xF6,0xAC,0xFC,0x3A,0xF8,0xD5,0x30);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterAppStatesCallbackUser,0xB2A5589B,0x4CBD,0x55B7,0xAA,0x79,0xEA,0x4D,0x0B,0x3D,0x8B,0x2C);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdater,0xFB4FBB7F,0x5AA0,0x553B,0xA2,0x95,0x3A,0xC8,0xB8,0xA7,0x69,0x5E);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterUser,0x4359A05A,0xE8EB,0x57BA,0xAC,0x49,0x88,0xA8,0x94,0xEA,0x98,0xD9);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLib,0xF3CA052C,0x145C,0x54D0,0x88,0x2F,0x61,0x09,0x2B,0xCD,0xEE,0xE8);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterUserClass,0x7066AC5D,0x7C1A,0x5CBB,0xBE,0x27,0xFD,0xEE,0x86,0xB2,0x96,0xC0);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterSystemClass,0x3AB14B3B,0x0999,0x5922,0x94,0xD5,0x41,0x74,0x6D,0x54,0x6D,0x1D);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user_p.c
new file mode 100644
index 0000000..05501e7d4
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_idl_user_p.c
@@ -0,0 +1,4081 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_idl_user.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */

+

+#pragma optimize("", off ) 

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_idl_user.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1245                              

+#define PROC_FORMAT_STRING_SIZE   1837                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_idl_user_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_idl_user_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_idl_user_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_idl_user_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_idl_user_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_idl_user_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_idl_user_MIDL_TYPE_FORMAT_STRING updater_idl_user__MIDL_TypeFormatString;

+extern const updater_idl_user_MIDL_PROC_FORMAT_STRING updater_idl_user__MIDL_ProcFormatString;

+extern const updater_idl_user_MIDL_EXPR_FORMAT_STRING updater_idl_user__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdateStateUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdateStateUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICompleteStatusUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICompleteStatusUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterObserverUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterCallbackUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStateUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterAppStatesCallbackUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdater_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterUser_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_WIN32__)

+#error  Invalid build platform for this stub.

+#endif

+

+#if !(TARGET_IS_NT50_OR_LATER)

+#error You need Windows 2000 or later to run this stub because it uses these features:

+#error   /robust command line switch.

+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.

+#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.

+#endif

+

+

+static const updater_idl_user_MIDL_PROC_FORMAT_STRING updater_idl_user__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_statusCode */

+

+

+	/* Procedure get_state */

+

+

+	/* Procedure get_state */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusUser0000 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0000 */

+

+

+	/* Parameter __MIDL__IUpdateStateUser0000 */

+

+

+	/* Parameter __MIDL__IUpdateState0000 */

+

+/* 24 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 26 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 28 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 30 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 32 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_statusMessage */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 36 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 38 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 42 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 44 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 46 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 50 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 52 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 54 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICompleteStatusUser0001 */

+

+

+	/* Parameter __MIDL__ICompleteStatus0001 */

+

+

+	/* Parameter __MIDL__IUpdateStateUser0001 */

+

+

+	/* Parameter __MIDL__IUpdateState0001 */

+

+/* 60 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 62 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 64 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 66 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 68 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 70 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersion */

+

+

+	/* Procedure get_nextVersion */

+

+/* 72 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 74 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 78 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 80 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 88 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 90 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 92 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0002 */

+

+

+	/* Parameter __MIDL__IUpdateState0002 */

+

+/* 96 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 98 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 100 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 102 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 104 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 106 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadedBytes */

+

+

+	/* Procedure get_downloadedBytes */

+

+/* 108 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 110 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 114 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 116 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 118 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 122 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 124 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 126 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 130 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0003 */

+

+

+	/* Parameter __MIDL__IUpdateState0003 */

+

+/* 132 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 134 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 136 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 138 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 140 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 142 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_totalBytes */

+

+

+	/* Procedure get_totalBytes */

+

+/* 144 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 146 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 150 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 152 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 154 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 156 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 158 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 160 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 166 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0004 */

+

+

+	/* Parameter __MIDL__IUpdateState0004 */

+

+/* 168 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 170 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 172 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 174 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 176 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 178 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 180 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 182 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 186 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 188 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 190 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 192 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 194 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 196 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 198 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 200 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 202 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0005 */

+

+

+	/* Parameter __MIDL__IUpdateState0005 */

+

+/* 204 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 206 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 208 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 210 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 212 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 214 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCategory */

+

+

+	/* Procedure get_errorCategory */

+

+/* 216 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 218 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 222 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 224 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 226 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 228 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 230 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 232 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 234 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 236 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 238 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0006 */

+

+

+	/* Parameter __MIDL__IUpdateState0006 */

+

+/* 240 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 242 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 244 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 246 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 248 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 250 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 252 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 254 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 258 */	NdrFcShort( 0xa ),	/* 10 */

+/* 260 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 262 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 264 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 266 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 268 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 272 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 274 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0007 */

+

+

+	/* Parameter __MIDL__IUpdateState0007 */

+

+/* 276 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 278 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 280 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 282 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 284 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 286 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 288 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 290 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 294 */	NdrFcShort( 0xb ),	/* 11 */

+/* 296 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 298 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 300 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 302 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 304 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 306 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 308 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 310 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0008 */

+

+

+	/* Parameter __MIDL__IUpdateState0008 */

+

+/* 312 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 314 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 316 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 318 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 320 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 322 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_ecp */

+

+

+	/* Procedure get_installerText */

+

+

+	/* Procedure get_installerText */

+

+/* 324 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 326 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 330 */	NdrFcShort( 0xc ),	/* 12 */

+/* 332 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 336 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 338 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 340 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 342 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 344 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 346 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0005 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0005 */

+

+

+	/* Parameter __MIDL__IUpdateStateUser0009 */

+

+

+	/* Parameter __MIDL__IUpdateState0009 */

+

+/* 348 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 350 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 352 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 354 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 356 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 358 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerCommandLine */

+

+

+	/* Procedure get_installerCommandLine */

+

+/* 360 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 362 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 366 */	NdrFcShort( 0xd ),	/* 13 */

+/* 368 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 370 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 372 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 374 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 376 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 378 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 380 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 382 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdateStateUser0010 */

+

+

+	/* Parameter __MIDL__IUpdateState0010 */

+

+/* 384 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 386 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 388 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 390 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 392 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 394 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 396 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 398 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 402 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 404 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 406 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 410 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 412 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 414 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 416 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 418 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter update_state */

+

+/* 420 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 422 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 424 */	NdrFcShort( 0x32 ),	/* Type Offset=50 */

+

+	/* Return value */

+

+/* 426 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 428 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 430 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 432 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 434 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 438 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 440 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 446 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 448 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 450 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 452 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 454 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter status */

+

+/* 456 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 458 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 460 */	NdrFcShort( 0x44 ),	/* Type Offset=68 */

+

+	/* Return value */

+

+/* 462 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 464 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 466 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnStateChange */

+

+/* 468 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 470 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 474 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 476 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 480 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 482 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 484 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 486 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 488 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 490 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter update_state */

+

+/* 492 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 494 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 496 */	NdrFcShort( 0x56 ),	/* Type Offset=86 */

+

+	/* Return value */

+

+/* 498 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 500 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 502 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure OnComplete */

+

+/* 504 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 506 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 510 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 512 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 516 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 518 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 520 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 522 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 524 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 526 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter status */

+

+/* 528 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 530 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 532 */	NdrFcShort( 0x68 ),	/* Type Offset=104 */

+

+	/* Return value */

+

+/* 534 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 536 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 538 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 540 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 542 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 546 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 548 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 550 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 552 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 554 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 556 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 558 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 560 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 562 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 564 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 566 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 568 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 570 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 572 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 574 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+/* 576 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 578 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 582 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 584 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 586 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 588 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 590 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 592 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 594 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 596 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 598 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0000 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0000 */

+

+/* 600 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 602 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 604 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 606 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 608 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 610 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+/* 612 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 614 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 618 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 620 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 622 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 624 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 626 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 628 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 630 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 632 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 634 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0001 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0001 */

+

+/* 636 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 638 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 640 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 642 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 644 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 646 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_ap */

+

+

+	/* Procedure get_ap */

+

+/* 648 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 650 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 654 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 656 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 658 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 660 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 662 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 664 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 666 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 668 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 670 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0002 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0002 */

+

+/* 672 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 674 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 676 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 678 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 680 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 682 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandCode */

+

+

+	/* Procedure get_brandCode */

+

+/* 684 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 686 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 690 */	NdrFcShort( 0xa ),	/* 10 */

+/* 692 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 694 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 698 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 700 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 702 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 704 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 706 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0003 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0003 */

+

+/* 708 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 710 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 712 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 714 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 716 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 718 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_brandPath */

+

+

+	/* Procedure get_brandPath */

+

+/* 720 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 722 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 726 */	NdrFcShort( 0xb ),	/* 11 */

+/* 728 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 730 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 732 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 734 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 736 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 738 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 740 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 742 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IUpdaterAppStateUser0004 */

+

+

+	/* Parameter __MIDL__IUpdaterAppState0004 */

+

+/* 744 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 746 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 748 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 750 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 752 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 754 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+/* 756 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 758 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 762 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 764 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 766 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 768 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 770 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 772 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 774 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 776 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 778 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_states */

+

+

+	/* Parameter app_states */

+

+/* 780 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 782 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 784 */	NdrFcShort( 0x462 ),	/* Type Offset=1122 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 786 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 788 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 790 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetVersion */

+

+

+	/* Procedure GetVersion */

+

+/* 792 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 794 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 798 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 800 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 802 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 804 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 806 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 808 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 810 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 812 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 814 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+/* 816 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 818 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 820 */	NdrFcShort( 0x24 ),	/* Type Offset=36 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 822 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 824 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 826 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 828 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 830 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 834 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 836 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 838 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 840 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 842 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 844 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 850 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 852 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 854 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 856 */	NdrFcShort( 0x46c ),	/* Type Offset=1132 */

+

+	/* Return value */

+

+/* 858 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 860 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 862 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 864 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 866 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 870 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 872 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 874 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 876 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 878 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 880 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 882 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 884 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 886 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 888 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 890 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 892 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_code */

+

+/* 894 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 896 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 898 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_path */

+

+/* 900 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 902 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 904 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter tag */

+

+/* 906 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 908 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 910 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter version */

+

+/* 912 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 914 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 916 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter existence_checker_path */

+

+/* 918 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 920 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 922 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter callback */

+

+/* 924 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 926 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 928 */	NdrFcShort( 0x46c ),	/* Type Offset=1132 */

+

+	/* Return value */

+

+/* 930 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 932 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 934 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 936 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 938 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 942 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 944 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 946 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 948 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 950 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 952 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 954 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 956 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 958 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 960 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 962 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 964 */	NdrFcShort( 0x46c ),	/* Type Offset=1132 */

+

+	/* Return value */

+

+/* 966 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 968 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 970 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 972 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 974 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 978 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 980 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 982 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 984 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 986 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 988 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 990 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 992 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 994 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 996 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 998 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1000 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1002 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1004 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1006 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1008 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1010 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1012 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1014 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1016 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1018 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1020 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1022 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1024 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1026 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1028 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1032 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1034 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1036 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1038 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1040 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1042 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1044 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1046 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1048 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1050 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1052 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1054 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data_index */

+

+/* 1056 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1058 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1060 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1062 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1064 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1066 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1068 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1070 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1072 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1074 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1076 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1078 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1080 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1082 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1084 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1086 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1088 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1092 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1094 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1096 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1098 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1100 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1102 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1104 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1108 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter observer */

+

+/* 1110 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1112 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1114 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1116 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1118 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1120 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1122 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1124 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1128 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1130 */	NdrFcShort( 0x30 ),	/* x86 Stack size/offset = 48 */

+/* 1132 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1134 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1136 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1138 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1144 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1146 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1148 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1150 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_code */

+

+/* 1152 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1154 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1156 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_path */

+

+/* 1158 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1160 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1162 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter tag */

+

+/* 1164 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1166 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1168 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter version */

+

+/* 1170 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1172 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1174 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter existence_checker_path */

+

+/* 1176 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1178 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1180 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter client_install_data */

+

+/* 1182 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1184 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1186 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data_index */

+

+/* 1188 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1190 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1192 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1194 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1196 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 1198 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1200 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1202 */	NdrFcShort( 0x28 ),	/* x86 Stack size/offset = 40 */

+/* 1204 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1206 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1208 */	NdrFcShort( 0x2c ),	/* x86 Stack size/offset = 44 */

+/* 1210 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CancelInstalls */

+

+

+	/* Procedure CancelInstalls */

+

+/* 1212 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1214 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1218 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1220 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1222 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1224 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1226 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1228 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1230 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1234 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1236 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1238 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1240 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1242 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1244 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1246 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1248 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1250 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1254 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1256 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1258 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1260 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1262 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 1264 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1266 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1270 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1272 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1274 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1276 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter installer_path */

+

+/* 1278 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1280 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1282 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_args */

+

+/* 1284 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1286 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1288 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data */

+

+/* 1290 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1292 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1294 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_settings */

+

+/* 1296 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1298 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1300 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter observer */

+

+/* 1302 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1304 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1306 */	NdrFcShort( 0x482 ),	/* Type Offset=1154 */

+

+	/* Return value */

+

+/* 1308 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1310 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1312 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1314 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1316 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1320 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1322 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1326 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1328 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1330 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1332 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1334 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1336 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1338 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1340 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1342 */	NdrFcShort( 0x494 ),	/* Type Offset=1172 */

+

+	/* Return value */

+

+/* 1344 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1346 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1348 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure FetchPolicies */

+

+/* 1350 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1352 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1356 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 1358 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1360 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1362 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1364 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1366 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1368 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1370 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1372 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1374 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1376 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1378 */	NdrFcShort( 0x4a6 ),	/* Type Offset=1190 */

+

+	/* Return value */

+

+/* 1380 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1382 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1384 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RegisterApp */

+

+/* 1386 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1388 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1392 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 1394 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 1396 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1400 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x8,		/* 8 */

+/* 1402 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1404 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1406 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1408 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1410 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1412 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1414 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_code */

+

+/* 1416 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1418 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1420 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_path */

+

+/* 1422 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1424 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1426 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter tag */

+

+/* 1428 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1430 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1432 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter version */

+

+/* 1434 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1436 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1438 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter existence_checker_path */

+

+/* 1440 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1442 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1444 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter callback */

+

+/* 1446 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1448 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1450 */	NdrFcShort( 0x4a6 ),	/* Type Offset=1190 */

+

+	/* Return value */

+

+/* 1452 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1454 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1456 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunPeriodicTasks */

+

+/* 1458 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1460 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1464 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 1466 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1468 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1470 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1472 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1474 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1476 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1480 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1482 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1484 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1486 */	NdrFcShort( 0x4a6 ),	/* Type Offset=1190 */

+

+	/* Return value */

+

+/* 1488 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1490 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1492 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure CheckForUpdate */

+

+/* 1494 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1496 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1500 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 1502 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1504 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1506 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1508 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 1510 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1512 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1514 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1516 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1518 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1520 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1522 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1524 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1526 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1528 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1530 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1532 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1534 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1536 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1538 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1540 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1542 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1544 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1546 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Update */

+

+/* 1548 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1550 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1554 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1556 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1558 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1560 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1562 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x6,		/* 6 */

+/* 1564 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1568 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1570 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1572 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1574 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1576 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data_index */

+

+/* 1578 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1580 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1582 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1584 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1586 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1588 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter same_version_update_allowed */

+

+/* 1590 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1592 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1594 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1596 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1598 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1600 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1602 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1604 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1606 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure UpdateAll */

+

+/* 1608 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1610 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1614 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1616 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1618 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1620 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1622 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1624 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1626 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1630 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter observer */

+

+/* 1632 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1634 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1636 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1638 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1640 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1642 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Install */

+

+/* 1644 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1646 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1650 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1652 */	NdrFcShort( 0x30 ),	/* x86 Stack size/offset = 48 */

+/* 1654 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1656 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1658 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xb,		/* 11 */

+/* 1660 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1662 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1664 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1666 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1668 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1670 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1672 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_code */

+

+/* 1674 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1676 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1678 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter brand_path */

+

+/* 1680 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1682 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1684 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter tag */

+

+/* 1686 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1688 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1690 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter version */

+

+/* 1692 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1694 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1696 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter existence_checker_path */

+

+/* 1698 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1700 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1702 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter client_install_data */

+

+/* 1704 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1706 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1708 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data_index */

+

+/* 1710 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1712 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1714 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter priority */

+

+/* 1716 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1718 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 1720 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter observer */

+

+/* 1722 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1724 */	NdrFcShort( 0x28 ),	/* x86 Stack size/offset = 40 */

+/* 1726 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1728 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1730 */	NdrFcShort( 0x2c ),	/* x86 Stack size/offset = 44 */

+/* 1732 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure RunInstaller */

+

+/* 1734 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1736 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1740 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1742 */	NdrFcShort( 0x20 ),	/* x86 Stack size/offset = 32 */

+/* 1744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1746 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1748 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x7,		/* 7 */

+/* 1750 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1752 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1756 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 1758 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1760 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1762 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter installer_path */

+

+/* 1764 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1766 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1768 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_args */

+

+/* 1770 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1772 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1774 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_data */

+

+/* 1776 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1778 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1780 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter install_settings */

+

+/* 1782 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 1784 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1786 */	NdrFcShort( 0x480 ),	/* Type Offset=1152 */

+

+	/* Parameter observer */

+

+/* 1788 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1790 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1792 */	NdrFcShort( 0x4b8 ),	/* Type Offset=1208 */

+

+	/* Return value */

+

+/* 1794 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1796 */	NdrFcShort( 0x1c ),	/* x86 Stack size/offset = 28 */

+/* 1798 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure GetAppStates */

+

+/* 1800 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1802 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1806 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1808 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1810 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1812 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1814 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1816 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1820 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1822 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 1824 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 1826 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1828 */	NdrFcShort( 0x4ca ),	/* Type Offset=1226 */

+

+	/* Return value */

+

+/* 1830 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1832 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1834 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_idl_user_MIDL_TYPE_FORMAT_STRING updater_idl_user__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/*  4 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/*  6 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  8 */	NdrFcShort( 0x1c ),	/* Offset= 28 (36) */

+/* 10 */	

+			0x13, 0x0,	/* FC_OP */

+/* 12 */	NdrFcShort( 0xe ),	/* Offset= 14 (26) */

+/* 14 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 16 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 18 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 20 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 22 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 24 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 26 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 28 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 30 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (14) */

+/* 32 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 34 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 36 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 42 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 44 */	NdrFcShort( 0xffde ),	/* Offset= -34 (10) */

+/* 46 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 48 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x4321a27b ),	/* 1126277755 */

+/* 56 */	NdrFcShort( 0xddb ),	/* 3547 */

+/* 58 */	NdrFcShort( 0x51d9 ),	/* 20953 */

+/* 60 */	0x9e,		/* 158 */

+			0x23,		/* 35 */

+/* 62 */	0xf0,		/* 240 */

+			0x5e,		/* 94 */

+/* 64 */	0x56,		/* 86 */

+			0xe1,		/* 225 */

+/* 66 */	0x57,		/* 87 */

+			0x5f,		/* 95 */

+/* 68 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 70 */	NdrFcLong( 0xd956a117 ),	/* -648634089 */

+/* 74 */	NdrFcShort( 0xc8dc ),	/* -14116 */

+/* 76 */	NdrFcShort( 0x5e7e ),	/* 24190 */

+/* 78 */	0xb4,		/* 180 */

+			0x39,		/* 57 */

+/* 80 */	0x96,		/* 150 */

+			0x42,		/* 66 */

+/* 82 */	0x81,		/* 129 */

+			0xae,		/* 174 */

+/* 84 */	0x5c,		/* 92 */

+			0xd2,		/* 210 */

+/* 86 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 88 */	NdrFcLong( 0xbfe8d555 ),	/* -1075260075 */

+/* 92 */	NdrFcShort( 0x69b7 ),	/* 27063 */

+/* 94 */	NdrFcShort( 0x5621 ),	/* 22049 */

+/* 96 */	0xb1,		/* 177 */

+			0xc9,		/* 201 */

+/* 98 */	0x67,		/* 103 */

+			0xe4,		/* 228 */

+/* 100 */	0x6e,		/* 110 */

+			0xb3,		/* 179 */

+/* 102 */	0x30,		/* 48 */

+			0x10,		/* 16 */

+/* 104 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 106 */	NdrFcLong( 0xedf6229 ),	/* 249520681 */

+/* 110 */	NdrFcShort( 0x1198 ),	/* 4504 */

+/* 112 */	NdrFcShort( 0x5bdf ),	/* 23519 */

+/* 114 */	0x92,		/* 146 */

+			0x97,		/* 151 */

+/* 116 */	0xc6,		/* 198 */

+			0xc4,		/* 196 */

+/* 118 */	0xe4,		/* 228 */

+			0x33,		/* 51 */

+/* 120 */	0xd2,		/* 210 */

+			0xf0,		/* 240 */

+/* 122 */	

+			0x12, 0x0,	/* FC_UP */

+/* 124 */	NdrFcShort( 0x3d2 ),	/* Offset= 978 (1102) */

+/* 126 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 128 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 130 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 132 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 134 */	NdrFcShort( 0x2 ),	/* Offset= 2 (136) */

+/* 136 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 138 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 140 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 144 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 146 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 150 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 152 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 156 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 158 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 162 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 164 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 168 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 170 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 174 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 176 */	NdrFcLong( 0xb ),	/* 11 */

+/* 180 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 182 */	NdrFcLong( 0xa ),	/* 10 */

+/* 186 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 188 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 192 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (424) */

+/* 194 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 198 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 200 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 204 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (430) */

+/* 206 */	NdrFcLong( 0xd ),	/* 13 */

+/* 210 */	NdrFcShort( 0xe0 ),	/* Offset= 224 (434) */

+/* 212 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 216 */	NdrFcShort( 0xec ),	/* Offset= 236 (452) */

+/* 218 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 222 */	NdrFcShort( 0xf8 ),	/* Offset= 248 (470) */

+/* 224 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 228 */	NdrFcShort( 0x320 ),	/* Offset= 800 (1028) */

+/* 230 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 234 */	NdrFcShort( 0x31a ),	/* Offset= 794 (1028) */

+/* 236 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 240 */	NdrFcShort( 0x318 ),	/* Offset= 792 (1032) */

+/* 242 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 246 */	NdrFcShort( 0x316 ),	/* Offset= 790 (1036) */

+/* 248 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 252 */	NdrFcShort( 0x314 ),	/* Offset= 788 (1040) */

+/* 254 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 258 */	NdrFcShort( 0x312 ),	/* Offset= 786 (1044) */

+/* 260 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 264 */	NdrFcShort( 0x310 ),	/* Offset= 784 (1048) */

+/* 266 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 270 */	NdrFcShort( 0x30e ),	/* Offset= 782 (1052) */

+/* 272 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 276 */	NdrFcShort( 0x2f8 ),	/* Offset= 760 (1036) */

+/* 278 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 282 */	NdrFcShort( 0x2f6 ),	/* Offset= 758 (1040) */

+/* 284 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 288 */	NdrFcShort( 0x300 ),	/* Offset= 768 (1056) */

+/* 290 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 294 */	NdrFcShort( 0x2f6 ),	/* Offset= 758 (1052) */

+/* 296 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 300 */	NdrFcShort( 0x2f8 ),	/* Offset= 760 (1060) */

+/* 302 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 306 */	NdrFcShort( 0x2f6 ),	/* Offset= 758 (1064) */

+/* 308 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 312 */	NdrFcShort( 0x2f4 ),	/* Offset= 756 (1068) */

+/* 314 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 318 */	NdrFcShort( 0x2f2 ),	/* Offset= 754 (1072) */

+/* 320 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 324 */	NdrFcShort( 0x2f0 ),	/* Offset= 752 (1076) */

+/* 326 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 330 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 332 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 336 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 338 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 342 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 344 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 348 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 350 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 354 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 356 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 360 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 362 */	NdrFcLong( 0xe ),	/* 14 */

+/* 366 */	NdrFcShort( 0x2ce ),	/* Offset= 718 (1084) */

+/* 368 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 372 */	NdrFcShort( 0x2d2 ),	/* Offset= 722 (1094) */

+/* 374 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 378 */	NdrFcShort( 0x2d0 ),	/* Offset= 720 (1098) */

+/* 380 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 384 */	NdrFcShort( 0x28c ),	/* Offset= 652 (1036) */

+/* 386 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 390 */	NdrFcShort( 0x28a ),	/* Offset= 650 (1040) */

+/* 392 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 396 */	NdrFcShort( 0x288 ),	/* Offset= 648 (1044) */

+/* 398 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 402 */	NdrFcShort( 0x27e ),	/* Offset= 638 (1040) */

+/* 404 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 408 */	NdrFcShort( 0x278 ),	/* Offset= 632 (1040) */

+/* 410 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 414 */	NdrFcShort( 0x0 ),	/* Offset= 0 (414) */

+/* 416 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 420 */	NdrFcShort( 0x0 ),	/* Offset= 0 (420) */

+/* 422 */	NdrFcShort( 0xffff ),	/* Offset= -1 (421) */

+/* 424 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 426 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 428 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 430 */	

+			0x12, 0x0,	/* FC_UP */

+/* 432 */	NdrFcShort( 0xfe6a ),	/* Offset= -406 (26) */

+/* 434 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 436 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 440 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 442 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 444 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 446 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 448 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 450 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 452 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 454 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 458 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 460 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 462 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 464 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 466 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 468 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 470 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 472 */	NdrFcShort( 0x2 ),	/* Offset= 2 (474) */

+/* 474 */	

+			0x12, 0x0,	/* FC_UP */

+/* 476 */	NdrFcShort( 0x216 ),	/* Offset= 534 (1010) */

+/* 478 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x49,		/* 73 */

+/* 480 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 482 */	NdrFcShort( 0xa ),	/* 10 */

+/* 484 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 488 */	NdrFcShort( 0x5a ),	/* Offset= 90 (578) */

+/* 490 */	NdrFcLong( 0xd ),	/* 13 */

+/* 494 */	NdrFcShort( 0x7e ),	/* Offset= 126 (620) */

+/* 496 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 500 */	NdrFcShort( 0x9e ),	/* Offset= 158 (658) */

+/* 502 */	NdrFcLong( 0xc ),	/* 12 */

+/* 506 */	NdrFcShort( 0xc8 ),	/* Offset= 200 (706) */

+/* 508 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 512 */	NdrFcShort( 0x124 ),	/* Offset= 292 (804) */

+/* 514 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 518 */	NdrFcShort( 0x140 ),	/* Offset= 320 (838) */

+/* 520 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 524 */	NdrFcShort( 0x15a ),	/* Offset= 346 (870) */

+/* 526 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 530 */	NdrFcShort( 0x174 ),	/* Offset= 372 (902) */

+/* 532 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 536 */	NdrFcShort( 0x18e ),	/* Offset= 398 (934) */

+/* 538 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 542 */	NdrFcShort( 0x1a8 ),	/* Offset= 424 (966) */

+/* 544 */	NdrFcShort( 0xffff ),	/* Offset= -1 (543) */

+/* 546 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 548 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 550 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 552 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 554 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 556 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 558 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 560 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 562 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 564 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 568 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 570 */	0x12, 0x0,	/* FC_UP */

+/* 572 */	NdrFcShort( 0xfdde ),	/* Offset= -546 (26) */

+/* 574 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 576 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 578 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 580 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 582 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 584 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 586 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 588 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 590 */	0x11, 0x0,	/* FC_RP */

+/* 592 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (546) */

+/* 594 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 596 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 598 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 600 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 602 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 606 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 608 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 612 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 614 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 616 */	NdrFcShort( 0xff4a ),	/* Offset= -182 (434) */

+/* 618 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 620 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 622 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 624 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 626 */	NdrFcShort( 0x6 ),	/* Offset= 6 (632) */

+/* 628 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 630 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 632 */	

+			0x11, 0x0,	/* FC_RP */

+/* 634 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (598) */

+/* 636 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 638 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 640 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 644 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 646 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 650 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 652 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 654 */	NdrFcShort( 0xff36 ),	/* Offset= -202 (452) */

+/* 656 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 658 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 660 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 662 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 664 */	NdrFcShort( 0x6 ),	/* Offset= 6 (670) */

+/* 666 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 668 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 670 */	

+			0x11, 0x0,	/* FC_RP */

+/* 672 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (636) */

+/* 674 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 676 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 678 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 680 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 682 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 684 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 686 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 688 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 690 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 692 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 694 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 698 */	0x12, 0x0,	/* FC_UP */

+/* 700 */	NdrFcShort( 0x192 ),	/* Offset= 402 (1102) */

+/* 702 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 704 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 706 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 708 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	NdrFcShort( 0x6 ),	/* Offset= 6 (718) */

+/* 714 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 716 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 718 */	

+			0x11, 0x0,	/* FC_RP */

+/* 720 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (674) */

+/* 722 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 724 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 728 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 730 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 732 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 734 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 736 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 738 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 740 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 742 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 744 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 746 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 748 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 750 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 752 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 754 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 758 */	NdrFcShort( 0xa ),	/* Offset= 10 (768) */

+/* 760 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 762 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 764 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (722) */

+/* 766 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 768 */	

+			0x12, 0x0,	/* FC_UP */

+/* 770 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (740) */

+/* 772 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 774 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 776 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 778 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 780 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 782 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 784 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 786 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 788 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 790 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 792 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 794 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 796 */	0x12, 0x0,	/* FC_UP */

+/* 798 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (752) */

+/* 800 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 802 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 804 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 806 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 808 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 810 */	NdrFcShort( 0x6 ),	/* Offset= 6 (816) */

+/* 812 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 814 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 816 */	

+			0x11, 0x0,	/* FC_RP */

+/* 818 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (772) */

+/* 820 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 822 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 824 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 826 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 828 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 830 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 832 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 834 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (820) */

+			0x5b,		/* FC_END */

+/* 838 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 840 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 842 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 844 */	NdrFcShort( 0xa ),	/* Offset= 10 (854) */

+/* 846 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 848 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 850 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (826) */

+/* 852 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 854 */	

+			0x11, 0x0,	/* FC_RP */

+/* 856 */	NdrFcShort( 0xfefe ),	/* Offset= -258 (598) */

+/* 858 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 860 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 862 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 866 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 868 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 870 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 872 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 874 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 876 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 878 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 880 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 882 */	0x12, 0x0,	/* FC_UP */

+/* 884 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (858) */

+/* 886 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 888 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 890 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 892 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 894 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 896 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 898 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 900 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 902 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 904 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 906 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 908 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 910 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 912 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 914 */	0x12, 0x0,	/* FC_UP */

+/* 916 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (890) */

+/* 918 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 920 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 922 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 924 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 926 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 930 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 932 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 934 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 936 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 938 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 940 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 942 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 944 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 946 */	0x12, 0x0,	/* FC_UP */

+/* 948 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (922) */

+/* 950 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 952 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 954 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 956 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 958 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 960 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 962 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 964 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 966 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 968 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 970 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 972 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 974 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 976 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 978 */	0x12, 0x0,	/* FC_UP */

+/* 980 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (954) */

+/* 982 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 984 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 986 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 988 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 990 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 992 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 994 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 996 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 998 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 1000 */	NdrFcShort( 0xffd8 ),	/* -40 */

+/* 1002 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 1004 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1006 */	NdrFcShort( 0xffec ),	/* Offset= -20 (986) */

+/* 1008 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1010 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 1012 */	NdrFcShort( 0x28 ),	/* 40 */

+/* 1014 */	NdrFcShort( 0xffec ),	/* Offset= -20 (994) */

+/* 1016 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1016) */

+/* 1018 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1020 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1022 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1024 */	NdrFcShort( 0xfdde ),	/* Offset= -546 (478) */

+/* 1026 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1028 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1030 */	NdrFcShort( 0xfeea ),	/* Offset= -278 (752) */

+/* 1032 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1034 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 1036 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1038 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 1040 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1042 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 1044 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1046 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 1048 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1050 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 1052 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1054 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1056 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1058 */	NdrFcShort( 0xfd86 ),	/* Offset= -634 (424) */

+/* 1060 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1062 */	NdrFcShort( 0xfd88 ),	/* Offset= -632 (430) */

+/* 1064 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1066 */	NdrFcShort( 0xfd88 ),	/* Offset= -632 (434) */

+/* 1068 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1070 */	NdrFcShort( 0xfd96 ),	/* Offset= -618 (452) */

+/* 1072 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1074 */	NdrFcShort( 0xfda4 ),	/* Offset= -604 (470) */

+/* 1076 */	

+			0x12, 0x10,	/* FC_UP [pointer_deref] */

+/* 1078 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1080) */

+/* 1080 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1082 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1102) */

+/* 1084 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 1086 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1088 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 1090 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 1092 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 1094 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1096 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1084) */

+/* 1098 */	

+			0x12, 0x8,	/* FC_UP [simple_pointer] */

+/* 1100 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1102 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1104 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1106 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1108 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1108) */

+/* 1110 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1112 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1114 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1116 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1118 */	NdrFcShort( 0xfc20 ),	/* Offset= -992 (126) */

+/* 1120 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1122 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1124 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1126 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1130 */	NdrFcShort( 0xfc10 ),	/* Offset= -1008 (122) */

+/* 1132 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1134 */	NdrFcLong( 0x687f8890 ),	/* 1753188496 */

+/* 1138 */	NdrFcShort( 0x6651 ),	/* 26193 */

+/* 1140 */	NdrFcShort( 0x55a5 ),	/* 21925 */

+/* 1142 */	0x90,		/* 144 */

+			0x13,		/* 19 */

+/* 1144 */	0x4e,		/* 78 */

+			0xab,		/* 171 */

+/* 1146 */	0x42,		/* 66 */

+			0xdd,		/* 221 */

+/* 1148 */	0x54,		/* 84 */

+			0x25,		/* 37 */

+/* 1150 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1152 */	

+			0x25,		/* FC_C_WSTRING */

+			0x5c,		/* FC_PAD */

+/* 1154 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1156 */	NdrFcLong( 0x29feaef3 ),	/* 704556787 */

+/* 1160 */	NdrFcShort( 0x81ca ),	/* -32310 */

+/* 1162 */	NdrFcShort( 0x598e ),	/* 22926 */

+/* 1164 */	0x84,		/* 132 */

+			0x37,		/* 55 */

+/* 1166 */	0x1c,		/* 28 */

+			0x30,		/* 48 */

+/* 1168 */	0x62,		/* 98 */

+			0xed,		/* 237 */

+/* 1170 */	0xbe,		/* 190 */

+			0xf0,		/* 240 */

+/* 1172 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1174 */	NdrFcLong( 0x8fc6cf83 ),	/* -1882796157 */

+/* 1178 */	NdrFcShort( 0xc4ab ),	/* -15189 */

+/* 1180 */	NdrFcShort( 0x54c5 ),	/* 21701 */

+/* 1182 */	0x89,		/* 137 */

+			0xf6,		/* 246 */

+/* 1184 */	0xac,		/* 172 */

+			0xfc,		/* 252 */

+/* 1186 */	0x3a,		/* 58 */

+			0xf8,		/* 248 */

+/* 1188 */	0xd5,		/* 213 */

+			0x30,		/* 48 */

+/* 1190 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1192 */	NdrFcLong( 0x7b080ea4 ),	/* 2064125604 */

+/* 1196 */	NdrFcShort( 0x6c28 ),	/* 27688 */

+/* 1198 */	NdrFcShort( 0x5353 ),	/* 21331 */

+/* 1200 */	0xbe,		/* 190 */

+			0xb5,		/* 181 */

+/* 1202 */	0x45,		/* 69 */

+			0x3,		/* 3 */

+/* 1204 */	0xae,		/* 174 */

+			0x8e,		/* 142 */

+/* 1206 */	0xd,		/* 13 */

+			0x38,		/* 56 */

+/* 1208 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1210 */	NdrFcLong( 0x8696ec8b ),	/* -2036929397 */

+/* 1214 */	NdrFcShort( 0x846b ),	/* -31637 */

+/* 1216 */	NdrFcShort( 0x5b6a ),	/* 23402 */

+/* 1218 */	0x85,		/* 133 */

+			0xd3,		/* 211 */

+/* 1220 */	0x43,		/* 67 */

+			0xc5,		/* 197 */

+/* 1222 */	0xc8,		/* 200 */

+			0xb7,		/* 183 */

+/* 1224 */	0xb3,		/* 179 */

+			0xeb,		/* 235 */

+/* 1226 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1228 */	NdrFcLong( 0xb2a5589b ),	/* -1297786725 */

+/* 1232 */	NdrFcShort( 0x4cbd ),	/* 19645 */

+/* 1234 */	NdrFcShort( 0x55b7 ),	/* 21943 */

+/* 1236 */	0xaa,		/* 170 */

+			0x79,		/* 121 */

+/* 1238 */	0xea,		/* 234 */

+			0x4d,		/* 77 */

+/* 1240 */	0xb,		/* 11 */

+			0x3d,		/* 61 */

+/* 1242 */	0x8b,		/* 139 */

+			0x2c,		/* 44 */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdateState, ver. 0.0,

+   GUID={0x4321A27B,0x0DDB,0x51D9,{0x9E,0x23,0xF0,0x5E,0x56,0xE1,0x57,0x5F}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateState_FormatStringOffsetTable[] =

+    {

+    0,

+    36,

+    72,

+    108,

+    144,

+    180,

+    216,

+    252,

+    288,

+    324,

+    360

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateProxyVtbl = 

+{

+    &IUpdateState_ProxyInfo,

+    &IID_IUpdateState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateState::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateStubVtbl =

+{

+    &IID_IUpdateState,

+    &IUpdateState_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdateStateUser, ver. 0.0,

+   GUID={0xBFE8D555,0x69B7,0x5621,{0xB1,0xC9,0x67,0xE4,0x6E,0xB3,0x30,0x10}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdateStateUser_FormatStringOffsetTable[] =

+    {

+    0,

+    36,

+    72,

+    108,

+    144,

+    180,

+    216,

+    252,

+    288,

+    324,

+    360

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdateStateUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdateStateUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdateStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdateStateUserProxyVtbl = 

+{

+    &IUpdateStateUser_ProxyInfo,

+    &IID_IUpdateStateUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_state */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_nextVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_downloadedBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_totalBytes */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_errorCategory */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_installerText */ ,

+    (void *) (INT_PTR) -1 /* IUpdateStateUser::get_installerCommandLine */

+};

+

+const CInterfaceStubVtbl _IUpdateStateUserStubVtbl =

+{

+    &IID_IUpdateStateUser,

+    &IUpdateStateUser_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatus, ver. 0.0,

+   GUID={0xD956A117,0xC8DC,0x5E7E,{0xB4,0x39,0x96,0x42,0x81,0xAE,0x5C,0xD2}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatus_FormatStringOffsetTable[] =

+    {

+    0,

+    36

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusProxyVtbl = 

+{

+    &ICompleteStatus_ProxyInfo,

+    &IID_ICompleteStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatus::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusStubVtbl =

+{

+    &IID_ICompleteStatus,

+    &ICompleteStatus_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: ICompleteStatusUser, ver. 0.0,

+   GUID={0x0EDF6229,0x1198,0x5BDF,{0x92,0x97,0xC6,0xC4,0xE4,0x33,0xD2,0xF0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICompleteStatusUser_FormatStringOffsetTable[] =

+    {

+    0,

+    36

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICompleteStatusUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICompleteStatusUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &ICompleteStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _ICompleteStatusUserProxyVtbl = 

+{

+    &ICompleteStatusUser_ProxyInfo,

+    &IID_ICompleteStatusUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusUser::get_statusCode */ ,

+    (void *) (INT_PTR) -1 /* ICompleteStatusUser::get_statusMessage */

+};

+

+const CInterfaceStubVtbl _ICompleteStatusUserStubVtbl =

+{

+    &IID_ICompleteStatusUser,

+    &ICompleteStatusUser_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserver, ver. 0.0,

+   GUID={0x29FEAEF3,0x81CA,0x598E,{0x84,0x37,0x1C,0x30,0x62,0xED,0xBE,0xF0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserver_FormatStringOffsetTable[] =

+    {

+    396,

+    432

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserver_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserver_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserver_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverProxyVtbl = 

+{

+    &IUpdaterObserver_ProxyInfo,

+    &IID_IUpdaterObserver,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserver::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverStubVtbl =

+{

+    &IID_IUpdaterObserver,

+    &IUpdaterObserver_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterObserverUser, ver. 0.0,

+   GUID={0x8696EC8B,0x846B,0x5B6A,{0x85,0xD3,0x43,0xC5,0xC8,0xB7,0xB3,0xEB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterObserverUser_FormatStringOffsetTable[] =

+    {

+    468,

+    504

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterObserverUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterObserverUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterObserverUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterObserverUserProxyVtbl = 

+{

+    &IUpdaterObserverUser_ProxyInfo,

+    &IID_IUpdaterObserverUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverUser::OnStateChange */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterObserverUser::OnComplete */

+};

+

+const CInterfaceStubVtbl _IUpdaterObserverUserStubVtbl =

+{

+    &IID_IUpdaterObserverUser,

+    &IUpdaterObserverUser_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallback, ver. 0.0,

+   GUID={0x687F8890,0x6651,0x55A5,{0x90,0x13,0x4E,0xAB,0x42,0xDD,0x54,0x25}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallback_FormatStringOffsetTable[] =

+    {

+    540

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackProxyVtbl = 

+{

+    &IUpdaterCallback_ProxyInfo,

+    &IID_IUpdaterCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackStubVtbl =

+{

+    &IID_IUpdaterCallback,

+    &IUpdaterCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterCallbackUser, ver. 0.0,

+   GUID={0x7B080EA4,0x6C28,0x5353,{0xBE,0xB5,0x45,0x03,0xAE,0x8E,0x0D,0x38}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterCallbackUser_FormatStringOffsetTable[] =

+    {

+    540

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterCallbackUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterCallbackUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterCallbackUserProxyVtbl = 

+{

+    &IUpdaterCallbackUser_ProxyInfo,

+    &IID_IUpdaterCallbackUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterCallbackUser::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterCallbackUserStubVtbl =

+{

+    &IID_IUpdaterCallbackUser,

+    &IUpdaterCallbackUser_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterAppState, ver. 0.0,

+   GUID={0x480212D3,0x86FC,0x513D,{0x8C,0xCA,0x18,0xB2,0x29,0x12,0xAD,0xC5}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    576,

+    612,

+    648,

+    684,

+    720,

+    324

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateProxyVtbl = 

+{

+    &IUpdaterAppState_ProxyInfo,

+    &IID_IUpdaterAppState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppState::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateStubVtbl =

+{

+    &IID_IUpdaterAppState,

+    &IUpdaterAppState_ServerInfo,

+    13,

+    &IUpdaterAppState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStateUser, ver. 0.0,

+   GUID={0xC6F7A4BE,0x43E3,0x5DCF,{0x90,0xD7,0x0F,0x98,0x15,0xBA,0xE1,0xE2}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStateUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    576,

+    612,

+    648,

+    684,

+    720,

+    324

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStateUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStateUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(13) _IUpdaterAppStateUserProxyVtbl = 

+{

+    &IUpdaterAppStateUser_ProxyInfo,

+    &IID_IUpdaterAppStateUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_version */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_ap */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_brandCode */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_brandPath */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStateUser::get_ecp */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IUpdaterAppStateUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IUpdaterAppStateUserStubVtbl =

+{

+    &IID_IUpdaterAppStateUser,

+    &IUpdaterAppStateUser_ServerInfo,

+    13,

+    &IUpdaterAppStateUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallback, ver. 0.0,

+   GUID={0x8FC6CF83,0xC4AB,0x54C5,{0x89,0xF6,0xAC,0xFC,0x3A,0xF8,0xD5,0x30}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallback_FormatStringOffsetTable[] =

+    {

+    756

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackProxyVtbl = 

+{

+    &IUpdaterAppStatesCallback_ProxyInfo,

+    &IID_IUpdaterAppStatesCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallback,

+    &IUpdaterAppStatesCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterAppStatesCallbackUser, ver. 0.0,

+   GUID={0xB2A5589B,0x4CBD,0x55B7,{0xAA,0x79,0xEA,0x4D,0x0B,0x3D,0x8B,0x2C}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterAppStatesCallbackUser_FormatStringOffsetTable[] =

+    {

+    756

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterAppStatesCallbackUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterAppStatesCallbackUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterAppStatesCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterAppStatesCallbackUserProxyVtbl = 

+{

+    &IUpdaterAppStatesCallbackUser_ProxyInfo,

+    &IID_IUpdaterAppStatesCallbackUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterAppStatesCallbackUser::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterAppStatesCallbackUserStubVtbl =

+{

+    &IID_IUpdaterAppStatesCallbackUser,

+    &IUpdaterAppStatesCallbackUser_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdater, ver. 0.0,

+   GUID={0xFB4FBB7F,0x5AA0,0x553B,{0xA2,0x95,0x3A,0xC8,0xB8,0xA7,0x69,0x5E}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdater_FormatStringOffsetTable[] =

+    {

+    792,

+    828,

+    864,

+    936,

+    972,

+    1026,

+    1086,

+    1122,

+    1212,

+    1248,

+    1314

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdater_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdater_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdater_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterProxyVtbl = 

+{

+    &IUpdater_ProxyInfo,

+    &IID_IUpdater,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdater::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterStubVtbl =

+{

+    &IID_IUpdater,

+    &IUpdater_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterUser, ver. 0.0,

+   GUID={0x4359A05A,0xE8EB,0x57BA,{0xAC,0x49,0x88,0xA8,0x94,0xEA,0x98,0xD9}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterUser_FormatStringOffsetTable[] =

+    {

+    792,

+    1350,

+    1386,

+    1458,

+    1494,

+    1548,

+    1608,

+    1644,

+    1212,

+    1734,

+    1800

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(14) _IUpdaterUserProxyVtbl = 

+{

+    &IUpdaterUser_ProxyInfo,

+    &IID_IUpdaterUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::GetVersion */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::FetchPolicies */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::RegisterApp */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::RunPeriodicTasks */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::CheckForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::Update */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::UpdateAll */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::Install */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::CancelInstalls */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::RunInstaller */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterUser::GetAppStates */

+};

+

+const CInterfaceStubVtbl _IUpdaterUserStubVtbl =

+{

+    &IID_IUpdaterUser,

+    &IUpdaterUser_ServerInfo,

+    14,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_idl_user__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_idl_user_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICompleteStatusUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdateStateUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdateStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStatesCallbackUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterCallbackUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterAppStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterObserverProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_idl_user_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_ICompleteStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICompleteStatusUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdateStateUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdateStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStatesCallbackUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterCallbackUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterAppStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterObserverStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_idl_user_InterfaceNamesList[] = 

+{

+    "ICompleteStatus",

+    "ICompleteStatusUser",

+    "IUpdateStateUser",

+    "IUpdaterUser",

+    "IUpdateState",

+    "IUpdater",

+    "IUpdaterAppStatesCallback",

+    "IUpdaterObserverUser",

+    "IUpdaterCallback",

+    "IUpdaterAppStatesCallbackUser",

+    "IUpdaterCallbackUser",

+    "IUpdaterAppStateUser",

+    "IUpdaterAppState",

+    "IUpdaterObserver",

+    0

+};

+

+const IID *  const _updater_idl_user_BaseIIDList[] = 

+{

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    0,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0,

+    0

+};

+

+

+#define _updater_idl_user_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_idl_user, pIID, n)

+

+int __stdcall _updater_idl_user_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_idl_user, 14, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_user, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_user, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_idl_user, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_idl_user, 14, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_idl_user_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_idl_user_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_idl_user_StubVtblList,

+    (const PCInterfaceName * ) & _updater_idl_user_InterfaceNamesList,

+    (const IID ** ) & _updater_idl_user_BaseIIDList,

+    & _updater_idl_user_IID_Lookup, 

+    14,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system.dlldata.c
new file mode 100644
index 0000000..c75be62
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system.dlldata.c
@@ -0,0 +1,37 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_internal_idl_system )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_internal_idl_system ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system.h
new file mode 100644
index 0000000..f5dd4e9
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system.h
@@ -0,0 +1,528 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_system.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_internal_idl_system_h__

+#define __updater_internal_idl_system_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdaterInternalCallback_FWD_DEFINED__

+#define __IUpdaterInternalCallback_FWD_DEFINED__

+typedef interface IUpdaterInternalCallback IUpdaterInternalCallback;

+

+#endif 	/* __IUpdaterInternalCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+#define __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackSystem IUpdaterInternalCallbackSystem;

+

+#endif 	/* __IUpdaterInternalCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_FWD_DEFINED__

+#define __IUpdaterInternal_FWD_DEFINED__

+typedef interface IUpdaterInternal IUpdaterInternal;

+

+#endif 	/* __IUpdaterInternal_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalSystem_FWD_DEFINED__

+#define __IUpdaterInternalSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalSystem IUpdaterInternalSystem;

+

+#endif 	/* __IUpdaterInternalSystem_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalUserClass_FWD_DEFINED__

+#define __UpdaterInternalUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalUserClass UpdaterInternalUserClass;

+#else

+typedef struct UpdaterInternalUserClass UpdaterInternalUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalSystemClass_FWD_DEFINED__

+#define __UpdaterInternalSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#else

+typedef struct UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+#define __IUpdaterInternalCallbackSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackSystem IUpdaterInternalCallbackSystem;

+

+#endif 	/* __IUpdaterInternalCallbackSystem_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalSystem_FWD_DEFINED__

+#define __IUpdaterInternalSystem_FWD_DEFINED__

+typedef interface IUpdaterInternalSystem IUpdaterInternalSystem;

+

+#endif 	/* __IUpdaterInternalSystem_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdaterInternalCallback_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("D272C794-2ACE-4584-B993-3B90C622BE65")

+    IUpdaterInternalCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackVtbl;

+

+    interface IUpdaterInternalCallback

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackSystem_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallbackSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallbackSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallbackSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7E806C73-B2A4-4BC5-BDAD-2249D87F67FC")

+    IUpdaterInternalCallbackSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallbackSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallbackSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallbackSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallbackSystem * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackSystemVtbl;

+

+    interface IUpdaterInternalCallbackSystem

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallbackSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallbackSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallbackSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallbackSystem_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallbackSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_INTERFACE_DEFINED__

+#define __IUpdaterInternal_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternal */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternal;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("526DA036-9BD3-4697-865A-DA12D37DFFCA")

+    IUpdaterInternal : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternal * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalVtbl;

+

+    interface IUpdaterInternal

+    {

+        CONST_VTBL struct IUpdaterInternalVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternal_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternal_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternal_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternal_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternal_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternal_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalSystem_INTERFACE_DEFINED__

+#define __IUpdaterInternalSystem_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalSystem */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("E690EB97-6E46-4361-AF8F-90A4F5496475")

+    IUpdaterInternalSystem : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallbackSystem *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallbackSystem *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalSystem, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalSystem * This,

+            /* [in] */ IUpdaterInternalCallbackSystem *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalSystem, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternalSystem * This,

+            /* [in] */ IUpdaterInternalCallbackSystem *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalSystemVtbl;

+

+    interface IUpdaterInternalSystem

+    {

+        CONST_VTBL struct IUpdaterInternalSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalSystem_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternalSystem_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalSystem_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterInternalLib_LIBRARY_DEFINED__

+#define __UpdaterInternalLib_LIBRARY_DEFINED__

+

+/* library UpdaterInternalLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterInternalLib;

+

+EXTERN_C const CLSID CLSID_UpdaterInternalUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("1F87FE2F-D6A9-4711-9D11-8187705F8457")

+UpdaterInternalUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterInternalSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("4556BA55-517E-4F03-8016-331A43C269C9")

+UpdaterInternalSystemClass;

+#endif

+#endif /* __UpdaterInternalLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system.tlb
new file mode 100644
index 0000000..f0b9b8d
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system_i.c
new file mode 100644
index 0000000..e0df440
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system_i.c
@@ -0,0 +1,97 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_system.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallback,0xD272C794,0x2ACE,0x4584,0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallbackSystem,0x7E806C73,0xB2A4,0x4BC5,0xBD,0xAD,0x22,0x49,0xD8,0x7F,0x67,0xFC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternal,0x526DA036,0x9BD3,0x4697,0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalSystem,0xE690EB97,0x6E46,0x4361,0xAF,0x8F,0x90,0xA4,0xF5,0x49,0x64,0x75);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterInternalLib,0xC6CE92DB,0x72CA,0x42EF,0x8C,0x98,0x6E,0xE9,0x24,0x81,0xB3,0xC9);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalUserClass,0x1F87FE2F,0xD6A9,0x4711,0x9D,0x11,0x81,0x87,0x70,0x5F,0x84,0x57);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalSystemClass,0x4556BA55,0x517E,0x4F03,0x80,0x16,0x33,0x1A,0x43,0xC2,0x69,0xC9);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system_p.c
new file mode 100644
index 0000000..70bf74ce
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_system_p.c
@@ -0,0 +1,710 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_system.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */

+

+#pragma optimize("", off ) 

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_internal_idl_system.h"

+

+#define TYPE_FORMAT_STRING_SIZE   39                                

+#define PROC_FORMAT_STRING_SIZE   181                               

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   0            

+

+typedef struct _updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_system_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_system_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_system_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_system_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING updater_internal_idl_system__MIDL_TypeFormatString;

+extern const updater_internal_idl_system_MIDL_PROC_FORMAT_STRING updater_internal_idl_system__MIDL_ProcFormatString;

+extern const updater_internal_idl_system_MIDL_EXPR_FORMAT_STRING updater_internal_idl_system__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallbackSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalSystem_ProxyInfo;

+

+

+

+#if !defined(__RPC_WIN32__)

+#error  Invalid build platform for this stub.

+#endif

+

+#if !(TARGET_IS_NT50_OR_LATER)

+#error You need Windows 2000 or later to run this stub because it uses these features:

+#error   /robust command line switch.

+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.

+#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.

+#endif

+

+

+static const updater_internal_idl_system_MIDL_PROC_FORMAT_STRING updater_internal_idl_system__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 10 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 24 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 26 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 28 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 30 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 32 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 36 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 38 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 42 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 44 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 46 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 50 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 52 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 54 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 60 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 62 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 64 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 66 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 68 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 70 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 72 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 74 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 78 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 80 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 88 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 90 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 92 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 96 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 98 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 100 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 102 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 104 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 106 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 108 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 110 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 114 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 116 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 118 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 122 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 124 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 126 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 130 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 132 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 134 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 136 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 138 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 140 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 142 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 144 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 146 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 150 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 152 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 154 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 156 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 158 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 160 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 166 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 168 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 170 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 172 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 174 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 176 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 178 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_internal_idl_system_MIDL_TYPE_FORMAT_STRING updater_internal_idl_system__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/*  4 */	NdrFcLong( 0xd272c794 ),	/* -764229740 */

+/*  8 */	NdrFcShort( 0x2ace ),	/* 10958 */

+/* 10 */	NdrFcShort( 0x4584 ),	/* 17796 */

+/* 12 */	0xb9,		/* 185 */

+			0x93,		/* 147 */

+/* 14 */	0x3b,		/* 59 */

+			0x90,		/* 144 */

+/* 16 */	0xc6,		/* 198 */

+			0x22,		/* 34 */

+/* 18 */	0xbe,		/* 190 */

+			0x65,		/* 101 */

+/* 20 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 22 */	NdrFcLong( 0x7e806c73 ),	/* 2122345587 */

+/* 26 */	NdrFcShort( 0xb2a4 ),	/* -19804 */

+/* 28 */	NdrFcShort( 0x4bc5 ),	/* 19397 */

+/* 30 */	0xbd,		/* 189 */

+			0xad,		/* 173 */

+/* 32 */	0x22,		/* 34 */

+			0x49,		/* 73 */

+/* 34 */	0xd8,		/* 216 */

+			0x7f,		/* 127 */

+/* 36 */	0x67,		/* 103 */

+			0xfc,		/* 252 */

+

+			0x0

+        }

+    };

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterInternalCallback, ver. 0.0,

+   GUID={0xD272C794,0x2ACE,0x4584,{0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallback_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackProxyVtbl = 

+{

+    &IUpdaterInternalCallback_ProxyInfo,

+    &IID_IUpdaterInternalCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackStubVtbl =

+{

+    &IID_IUpdaterInternalCallback,

+    &IUpdaterInternalCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalCallbackSystem, ver. 0.0,

+   GUID={0x7E806C73,0xB2A4,0x4BC5,{0xBD,0xAD,0x22,0x49,0xD8,0x7F,0x67,0xFC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallbackSystem_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallbackSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackSystemProxyVtbl = 

+{

+    &IUpdaterInternalCallbackSystem_ProxyInfo,

+    &IID_IUpdaterInternalCallbackSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallbackSystem::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackSystemStubVtbl =

+{

+    &IID_IUpdaterInternalCallbackSystem,

+    &IUpdaterInternalCallbackSystem_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternal, ver. 0.0,

+   GUID={0x526DA036,0x9BD3,0x4697,{0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternal_FormatStringOffsetTable[] =

+    {

+    36,

+    72

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalProxyVtbl = 

+{

+    &IUpdaterInternal_ProxyInfo,

+    &IID_IUpdaterInternal,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalStubVtbl =

+{

+    &IID_IUpdaterInternal,

+    &IUpdaterInternal_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalSystem, ver. 0.0,

+   GUID={0xE690EB97,0x6E46,0x4361,{0xAF,0x8F,0x90,0xA4,0xF5,0x49,0x64,0x75}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalSystem_FormatStringOffsetTable[] =

+    {

+    108,

+    144

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_system__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalSystemProxyVtbl = 

+{

+    &IUpdaterInternalSystem_ProxyInfo,

+    &IID_IUpdaterInternalSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalSystem::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalSystem::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalSystemStubVtbl =

+{

+    &IID_IUpdaterInternalSystem,

+    &IUpdaterInternalSystem_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_internal_idl_system__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    0,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_internal_idl_system_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalSystemProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_internal_idl_system_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalSystemStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_internal_idl_system_InterfaceNamesList[] = 

+{

+    "IUpdaterInternal",

+    "IUpdaterInternalCallbackSystem",

+    "IUpdaterInternalCallback",

+    "IUpdaterInternalSystem",

+    0

+};

+

+

+#define _updater_internal_idl_system_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_internal_idl_system, pIID, n)

+

+int __stdcall _updater_internal_idl_system_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_internal_idl_system, 4, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_internal_idl_system, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_internal_idl_system, 4, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_internal_idl_system_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_internal_idl_system_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_internal_idl_system_StubVtblList,

+    (const PCInterfaceName * ) & _updater_internal_idl_system_InterfaceNamesList,

+    0, /* no delegation */

+    & _updater_internal_idl_system_IID_Lookup, 

+    4,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user.dlldata.c
new file mode 100644
index 0000000..44053a66
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user.dlldata.c
@@ -0,0 +1,37 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_internal_idl_user )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_internal_idl_user ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user.h
new file mode 100644
index 0000000..ef64316d
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user.h
@@ -0,0 +1,528 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_user.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_internal_idl_user_h__

+#define __updater_internal_idl_user_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IUpdaterInternalCallback_FWD_DEFINED__

+#define __IUpdaterInternalCallback_FWD_DEFINED__

+typedef interface IUpdaterInternalCallback IUpdaterInternalCallback;

+

+#endif 	/* __IUpdaterInternalCallback_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackUser_FWD_DEFINED__

+#define __IUpdaterInternalCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackUser IUpdaterInternalCallbackUser;

+

+#endif 	/* __IUpdaterInternalCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_FWD_DEFINED__

+#define __IUpdaterInternal_FWD_DEFINED__

+typedef interface IUpdaterInternal IUpdaterInternal;

+

+#endif 	/* __IUpdaterInternal_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalUser_FWD_DEFINED__

+#define __IUpdaterInternalUser_FWD_DEFINED__

+typedef interface IUpdaterInternalUser IUpdaterInternalUser;

+

+#endif 	/* __IUpdaterInternalUser_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalUserClass_FWD_DEFINED__

+#define __UpdaterInternalUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalUserClass UpdaterInternalUserClass;

+#else

+typedef struct UpdaterInternalUserClass UpdaterInternalUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalUserClass_FWD_DEFINED__ */

+

+

+#ifndef __UpdaterInternalSystemClass_FWD_DEFINED__

+#define __UpdaterInternalSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#else

+typedef struct UpdaterInternalSystemClass UpdaterInternalSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __UpdaterInternalSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackUser_FWD_DEFINED__

+#define __IUpdaterInternalCallbackUser_FWD_DEFINED__

+typedef interface IUpdaterInternalCallbackUser IUpdaterInternalCallbackUser;

+

+#endif 	/* __IUpdaterInternalCallbackUser_FWD_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalUser_FWD_DEFINED__

+#define __IUpdaterInternalUser_FWD_DEFINED__

+typedef interface IUpdaterInternalUser IUpdaterInternalUser;

+

+#endif 	/* __IUpdaterInternalUser_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#ifndef __IUpdaterInternalCallback_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallback_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallback */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallback;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("D272C794-2ACE-4584-B993-3B90C622BE65")

+    IUpdaterInternalCallback : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallback * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallback, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallback * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackVtbl;

+

+    interface IUpdaterInternalCallback

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallback_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallback_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallback_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallback_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallback_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalCallbackUser_INTERFACE_DEFINED__

+#define __IUpdaterInternalCallbackUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalCallbackUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalCallbackUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("618D9B82-9F51-4490-AF24-BB80489E1537")

+    IUpdaterInternalCallbackUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ LONG result) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalCallbackUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalCallbackUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalCallbackUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalCallbackUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalCallbackUser * This,

+            /* [in] */ LONG result);

+        

+        END_INTERFACE

+    } IUpdaterInternalCallbackUserVtbl;

+

+    interface IUpdaterInternalCallbackUser

+    {

+        CONST_VTBL struct IUpdaterInternalCallbackUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalCallbackUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalCallbackUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalCallbackUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalCallbackUser_Run(This,result)	\

+    ( (This)->lpVtbl -> Run(This,result) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalCallbackUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternal_INTERFACE_DEFINED__

+#define __IUpdaterInternal_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternal */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternal;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("526DA036-9BD3-4697-865A-DA12D37DFFCA")

+    IUpdaterInternal : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallback *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternal * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternal * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternal, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternal * This,

+            /* [in] */ IUpdaterInternalCallback *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalVtbl;

+

+    interface IUpdaterInternal

+    {

+        CONST_VTBL struct IUpdaterInternalVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternal_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternal_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternal_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternal_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternal_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternal_INTERFACE_DEFINED__ */

+

+

+#ifndef __IUpdaterInternalUser_INTERFACE_DEFINED__

+#define __IUpdaterInternalUser_INTERFACE_DEFINED__

+

+/* interface IUpdaterInternalUser */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IUpdaterInternalUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("C82AFDA3-CA76-46EE-96E9-474717BFA7BA")

+    IUpdaterInternalUser : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE Run( 

+            /* [in] */ IUpdaterInternalCallbackUser *callback) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE Hello( 

+            /* [in] */ IUpdaterInternalCallbackUser *callback) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IUpdaterInternalUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IUpdaterInternalUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IUpdaterInternalUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IUpdaterInternalUser * This);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalUser, Run)

+        HRESULT ( STDMETHODCALLTYPE *Run )( 

+            IUpdaterInternalUser * This,

+            /* [in] */ IUpdaterInternalCallbackUser *callback);

+        

+        DECLSPEC_XFGVIRT(IUpdaterInternalUser, Hello)

+        HRESULT ( STDMETHODCALLTYPE *Hello )( 

+            IUpdaterInternalUser * This,

+            /* [in] */ IUpdaterInternalCallbackUser *callback);

+        

+        END_INTERFACE

+    } IUpdaterInternalUserVtbl;

+

+    interface IUpdaterInternalUser

+    {

+        CONST_VTBL struct IUpdaterInternalUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IUpdaterInternalUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IUpdaterInternalUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IUpdaterInternalUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IUpdaterInternalUser_Run(This,callback)	\

+    ( (This)->lpVtbl -> Run(This,callback) ) 

+

+#define IUpdaterInternalUser_Hello(This,callback)	\

+    ( (This)->lpVtbl -> Hello(This,callback) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IUpdaterInternalUser_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterInternalLib_LIBRARY_DEFINED__

+#define __UpdaterInternalLib_LIBRARY_DEFINED__

+

+/* library UpdaterInternalLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterInternalLib;

+

+EXTERN_C const CLSID CLSID_UpdaterInternalUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("1F87FE2F-D6A9-4711-9D11-8187705F8457")

+UpdaterInternalUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_UpdaterInternalSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("4556BA55-517E-4F03-8016-331A43C269C9")

+UpdaterInternalSystemClass;

+#endif

+#endif /* __UpdaterInternalLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user.tlb
new file mode 100644
index 0000000..584009a5
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user_i.c
new file mode 100644
index 0000000..c7d075f
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user_i.c
@@ -0,0 +1,97 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_user.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallback,0xD272C794,0x2ACE,0x4584,0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalCallbackUser,0x618D9B82,0x9F51,0x4490,0xAF,0x24,0xBB,0x80,0x48,0x9E,0x15,0x37);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternal,0x526DA036,0x9BD3,0x4697,0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA);

+

+

+MIDL_DEFINE_GUID(IID, IID_IUpdaterInternalUser,0xC82AFDA3,0xCA76,0x46EE,0x96,0xE9,0x47,0x47,0x17,0xBF,0xA7,0xBA);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterInternalLib,0xC6CE92DB,0x72CA,0x42EF,0x8C,0x98,0x6E,0xE9,0x24,0x81,0xB3,0xC9);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalUserClass,0x1F87FE2F,0xD6A9,0x4711,0x9D,0x11,0x81,0x87,0x70,0x5F,0x84,0x57);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_UpdaterInternalSystemClass,0x4556BA55,0x517E,0x4F03,0x80,0x16,0x33,0x1A,0x43,0xC2,0x69,0xC9);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user_p.c
new file mode 100644
index 0000000..de88658
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_internal_idl_user_p.c
@@ -0,0 +1,710 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_internal_idl_user.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */

+

+#pragma optimize("", off ) 

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_internal_idl_user.h"

+

+#define TYPE_FORMAT_STRING_SIZE   39                                

+#define PROC_FORMAT_STRING_SIZE   181                               

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   0            

+

+typedef struct _updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_user_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_user_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_internal_idl_user_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_internal_idl_user_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING updater_internal_idl_user__MIDL_TypeFormatString;

+extern const updater_internal_idl_user_MIDL_PROC_FORMAT_STRING updater_internal_idl_user__MIDL_ProcFormatString;

+extern const updater_internal_idl_user_MIDL_EXPR_FORMAT_STRING updater_internal_idl_user__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalCallbackUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IUpdaterInternalUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalUser_ProxyInfo;

+

+

+

+#if !defined(__RPC_WIN32__)

+#error  Invalid build platform for this stub.

+#endif

+

+#if !(TARGET_IS_NT50_OR_LATER)

+#error You need Windows 2000 or later to run this stub because it uses these features:

+#error   /robust command line switch.

+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.

+#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.

+#endif

+

+

+static const updater_internal_idl_user_MIDL_PROC_FORMAT_STRING updater_internal_idl_user__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure Run */

+

+

+	/* Procedure Run */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x3 ),	/* 3 */

+/*  8 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 10 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 18 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter result */

+

+

+	/* Parameter result */

+

+/* 24 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 26 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 28 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 30 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 32 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 36 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 38 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 42 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 44 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 46 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 50 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 52 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 54 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 60 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 62 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 64 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 66 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 68 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 70 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 72 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 74 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 78 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 80 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 88 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 90 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 92 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 96 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 98 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 100 */	NdrFcShort( 0x2 ),	/* Type Offset=2 */

+

+	/* Return value */

+

+/* 102 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 104 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 106 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Run */

+

+/* 108 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 110 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 114 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 116 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 118 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 122 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 124 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 126 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 128 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 130 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 132 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 134 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 136 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 138 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 140 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 142 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure Hello */

+

+/* 144 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 146 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 150 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 152 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 154 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 156 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 158 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 160 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 164 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 166 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter callback */

+

+/* 168 */	NdrFcShort( 0xb ),	/* Flags:  must size, must free, in, */

+/* 170 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 172 */	NdrFcShort( 0x14 ),	/* Type Offset=20 */

+

+	/* Return value */

+

+/* 174 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 176 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 178 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_internal_idl_user_MIDL_TYPE_FORMAT_STRING updater_internal_idl_user__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/*  4 */	NdrFcLong( 0xd272c794 ),	/* -764229740 */

+/*  8 */	NdrFcShort( 0x2ace ),	/* 10958 */

+/* 10 */	NdrFcShort( 0x4584 ),	/* 17796 */

+/* 12 */	0xb9,		/* 185 */

+			0x93,		/* 147 */

+/* 14 */	0x3b,		/* 59 */

+			0x90,		/* 144 */

+/* 16 */	0xc6,		/* 198 */

+			0x22,		/* 34 */

+/* 18 */	0xbe,		/* 190 */

+			0x65,		/* 101 */

+/* 20 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 22 */	NdrFcLong( 0x618d9b82 ),	/* 1636670338 */

+/* 26 */	NdrFcShort( 0x9f51 ),	/* -24751 */

+/* 28 */	NdrFcShort( 0x4490 ),	/* 17552 */

+/* 30 */	0xaf,		/* 175 */

+			0x24,		/* 36 */

+/* 32 */	0xbb,		/* 187 */

+			0x80,		/* 128 */

+/* 34 */	0x48,		/* 72 */

+			0x9e,		/* 158 */

+/* 36 */	0x15,		/* 21 */

+			0x37,		/* 55 */

+

+			0x0

+        }

+    };

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IUpdaterInternalCallback, ver. 0.0,

+   GUID={0xD272C794,0x2ACE,0x4584,{0xB9,0x93,0x3B,0x90,0xC6,0x22,0xBE,0x65}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallback_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallback_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallback_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallback_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackProxyVtbl = 

+{

+    &IUpdaterInternalCallback_ProxyInfo,

+    &IID_IUpdaterInternalCallback,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallback::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackStubVtbl =

+{

+    &IID_IUpdaterInternalCallback,

+    &IUpdaterInternalCallback_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalCallbackUser, ver. 0.0,

+   GUID={0x618D9B82,0x9F51,0x4490,{0xAF,0x24,0xBB,0x80,0x48,0x9E,0x15,0x37}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalCallbackUser_FormatStringOffsetTable[] =

+    {

+    0

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalCallbackUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalCallbackUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalCallbackUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(4) _IUpdaterInternalCallbackUserProxyVtbl = 

+{

+    &IUpdaterInternalCallbackUser_ProxyInfo,

+    &IID_IUpdaterInternalCallbackUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalCallbackUser::Run */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalCallbackUserStubVtbl =

+{

+    &IID_IUpdaterInternalCallbackUser,

+    &IUpdaterInternalCallbackUser_ServerInfo,

+    4,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternal, ver. 0.0,

+   GUID={0x526DA036,0x9BD3,0x4697,{0x86,0x5A,0xDA,0x12,0xD3,0x7D,0xFF,0xCA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternal_FormatStringOffsetTable[] =

+    {

+    36,

+    72

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternal_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternal_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternal_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalProxyVtbl = 

+{

+    &IUpdaterInternal_ProxyInfo,

+    &IID_IUpdaterInternal,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternal::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalStubVtbl =

+{

+    &IID_IUpdaterInternal,

+    &IUpdaterInternal_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IUpdaterInternalUser, ver. 0.0,

+   GUID={0xC82AFDA3,0xCA76,0x46EE,{0x96,0xE9,0x47,0x47,0x17,0xBF,0xA7,0xBA}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IUpdaterInternalUser_FormatStringOffsetTable[] =

+    {

+    108,

+    144

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IUpdaterInternalUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IUpdaterInternalUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_internal_idl_user__MIDL_ProcFormatString.Format,

+    &IUpdaterInternalUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(5) _IUpdaterInternalUserProxyVtbl = 

+{

+    &IUpdaterInternalUser_ProxyInfo,

+    &IID_IUpdaterInternalUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalUser::Run */ ,

+    (void *) (INT_PTR) -1 /* IUpdaterInternalUser::Hello */

+};

+

+const CInterfaceStubVtbl _IUpdaterInternalUserStubVtbl =

+{

+    &IID_IUpdaterInternalUser,

+    &IUpdaterInternalUser_ServerInfo,

+    5,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_internal_idl_user__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    0,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_internal_idl_user_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalCallbackProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IUpdaterInternalUserProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_internal_idl_user_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalCallbackStubVtbl,

+    ( CInterfaceStubVtbl *) &_IUpdaterInternalUserStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_internal_idl_user_InterfaceNamesList[] = 

+{

+    "IUpdaterInternal",

+    "IUpdaterInternalCallbackUser",

+    "IUpdaterInternalCallback",

+    "IUpdaterInternalUser",

+    0

+};

+

+

+#define _updater_internal_idl_user_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_internal_idl_user, pIID, n)

+

+int __stdcall _updater_internal_idl_user_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_internal_idl_user, 4, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_internal_idl_user, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_internal_idl_user, 4, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_internal_idl_user_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_internal_idl_user_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_internal_idl_user_StubVtblList,

+    (const PCInterfaceName * ) & _updater_internal_idl_user_InterfaceNamesList,

+    0, /* no delegation */

+    & _updater_internal_idl_user_IID_Lookup, 

+    4,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system.dlldata.c
new file mode 100644
index 0000000..40028e6c
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_legacy_idl_system )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_legacy_idl_system ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system.h
new file mode 100644
index 0000000..8dcb651
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system.h
@@ -0,0 +1,5519 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_system.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_legacy_idl_system_h__

+#define __updater_legacy_idl_system_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebSystem_FWD_DEFINED__

+#define __IAppVersionWebSystem_FWD_DEFINED__

+typedef interface IAppVersionWebSystem IAppVersionWebSystem;

+

+#endif 	/* __IAppVersionWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateSystem_FWD_DEFINED__

+#define __ICurrentStateSystem_FWD_DEFINED__

+typedef interface ICurrentStateSystem ICurrentStateSystem;

+

+#endif 	/* __ICurrentStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebSystem_FWD_DEFINED__

+#define __IGoogleUpdate3WebSystem_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebSystem IGoogleUpdate3WebSystem;

+

+#endif 	/* __IGoogleUpdate3WebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebSystem_FWD_DEFINED__

+#define __IAppBundleWebSystem_FWD_DEFINED__

+typedef interface IAppBundleWebSystem IAppBundleWebSystem;

+

+#endif 	/* __IAppBundleWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebSystem_FWD_DEFINED__

+#define __IAppWebSystem_FWD_DEFINED__

+typedef interface IAppWebSystem IAppWebSystem;

+

+#endif 	/* __IAppWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebSystem_FWD_DEFINED__

+#define __IAppCommandWebSystem_FWD_DEFINED__

+typedef interface IAppCommandWebSystem IAppCommandWebSystem;

+

+#endif 	/* __IAppCommandWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusSystem_FWD_DEFINED__

+#define __IPolicyStatusSystem_FWD_DEFINED__

+typedef interface IPolicyStatusSystem IPolicyStatusSystem;

+

+#endif 	/* __IPolicyStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueSystem_FWD_DEFINED__

+#define __IPolicyStatusValueSystem_FWD_DEFINED__

+typedef interface IPolicyStatusValueSystem IPolicyStatusValueSystem;

+

+#endif 	/* __IPolicyStatusValueSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2System_FWD_DEFINED__

+#define __IPolicyStatus2System_FWD_DEFINED__

+typedef interface IPolicyStatus2System IPolicyStatus2System;

+

+#endif 	/* __IPolicyStatus2System_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3System_FWD_DEFINED__

+#define __IPolicyStatus3System_FWD_DEFINED__

+typedef interface IPolicyStatus3System IPolicyStatus3System;

+

+#endif 	/* __IPolicyStatus3System_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher_FWD_DEFINED__

+#define __IProcessLauncher_FWD_DEFINED__

+typedef interface IProcessLauncher IProcessLauncher;

+

+#endif 	/* __IProcessLauncher_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher2_FWD_DEFINED__

+#define __IProcessLauncher2_FWD_DEFINED__

+typedef interface IProcessLauncher2 IProcessLauncher2;

+

+#endif 	/* __IProcessLauncher2_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebUserClass_FWD_DEFINED__

+#define __GoogleUpdate3WebUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#else

+typedef struct GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebUserClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+#define __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#else

+typedef struct GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+#define __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#else

+typedef struct GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebServiceClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusUserClass_FWD_DEFINED__

+#define __PolicyStatusUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusUserClass PolicyStatusUserClass;

+#else

+typedef struct PolicyStatusUserClass PolicyStatusUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusUserClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusSystemClass_FWD_DEFINED__

+#define __PolicyStatusSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusSystemClass PolicyStatusSystemClass;

+#else

+typedef struct PolicyStatusSystemClass PolicyStatusSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __ProcessLauncherClass_FWD_DEFINED__

+#define __ProcessLauncherClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class ProcessLauncherClass ProcessLauncherClass;

+#else

+typedef struct ProcessLauncherClass ProcessLauncherClass;

+#endif /* __cplusplus */

+

+#endif 	/* __ProcessLauncherClass_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebSystem_FWD_DEFINED__

+#define __IAppVersionWebSystem_FWD_DEFINED__

+typedef interface IAppVersionWebSystem IAppVersionWebSystem;

+

+#endif 	/* __IAppVersionWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateSystem_FWD_DEFINED__

+#define __ICurrentStateSystem_FWD_DEFINED__

+typedef interface ICurrentStateSystem ICurrentStateSystem;

+

+#endif 	/* __ICurrentStateSystem_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebSystem_FWD_DEFINED__

+#define __IGoogleUpdate3WebSystem_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebSystem IGoogleUpdate3WebSystem;

+

+#endif 	/* __IGoogleUpdate3WebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebSystem_FWD_DEFINED__

+#define __IAppBundleWebSystem_FWD_DEFINED__

+typedef interface IAppBundleWebSystem IAppBundleWebSystem;

+

+#endif 	/* __IAppBundleWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebSystem_FWD_DEFINED__

+#define __IAppWebSystem_FWD_DEFINED__

+typedef interface IAppWebSystem IAppWebSystem;

+

+#endif 	/* __IAppWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebSystem_FWD_DEFINED__

+#define __IAppCommandWebSystem_FWD_DEFINED__

+typedef interface IAppCommandWebSystem IAppCommandWebSystem;

+

+#endif 	/* __IAppCommandWebSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusSystem_FWD_DEFINED__

+#define __IPolicyStatusSystem_FWD_DEFINED__

+typedef interface IPolicyStatusSystem IPolicyStatusSystem;

+

+#endif 	/* __IPolicyStatusSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueSystem_FWD_DEFINED__

+#define __IPolicyStatusValueSystem_FWD_DEFINED__

+typedef interface IPolicyStatusValueSystem IPolicyStatusValueSystem;

+

+#endif 	/* __IPolicyStatusValueSystem_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2System_FWD_DEFINED__

+#define __IPolicyStatus2System_FWD_DEFINED__

+typedef interface IPolicyStatus2System IPolicyStatus2System;

+

+#endif 	/* __IPolicyStatus2System_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3System_FWD_DEFINED__

+#define __IPolicyStatus3System_FWD_DEFINED__

+typedef interface IPolicyStatus3System IPolicyStatus3System;

+

+#endif 	/* __IPolicyStatus3System_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher_FWD_DEFINED__

+#define __IProcessLauncher_FWD_DEFINED__

+typedef interface IProcessLauncher IProcessLauncher;

+

+#endif 	/* __IProcessLauncher_FWD_DEFINED__ */

+

+

+#ifndef __IProcessLauncher2_FWD_DEFINED__

+#define __IProcessLauncher2_FWD_DEFINED__

+typedef interface IProcessLauncher2 IProcessLauncher2;

+

+#endif 	/* __IProcessLauncher2_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+/* interface __MIDL_itf_updater_legacy_idl_system_0000_0000 */

+/* [local] */ 

+

+typedef 

+enum CurrentState

+    {

+        STATE_INIT	= 1,

+        STATE_WAITING_TO_CHECK_FOR_UPDATE	= 2,

+        STATE_CHECKING_FOR_UPDATE	= 3,

+        STATE_UPDATE_AVAILABLE	= 4,

+        STATE_WAITING_TO_DOWNLOAD	= 5,

+        STATE_RETRYING_DOWNLOAD	= 6,

+        STATE_DOWNLOADING	= 7,

+        STATE_DOWNLOAD_COMPLETE	= 8,

+        STATE_EXTRACTING	= 9,

+        STATE_APPLYING_DIFFERENTIAL_PATCH	= 10,

+        STATE_READY_TO_INSTALL	= 11,

+        STATE_WAITING_TO_INSTALL	= 12,

+        STATE_INSTALLING	= 13,

+        STATE_INSTALL_COMPLETE	= 14,

+        STATE_PAUSED	= 15,

+        STATE_NO_UPDATE	= 16,

+        STATE_ERROR	= 17

+    } 	CurrentState;

+

+

+enum AppCommandStatus

+    {

+        COMMAND_STATUS_INIT	= 1,

+        COMMAND_STATUS_RUNNING	= 2,

+        COMMAND_STATUS_ERROR	= 3,

+        COMMAND_STATUS_COMPLETE	= 4

+    } ;

+

+

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_system_0000_0000_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_system_0000_0000_v0_0_s_ifspec;

+

+#ifndef __IAppVersionWeb_INTERFACE_DEFINED__

+#define __IAppVersionWeb_INTERFACE_DEFINED__

+

+/* interface IAppVersionWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AA10D17D-7A09-48AC-B1E4-F124937E3D26")

+    IAppVersionWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWeb * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebVtbl;

+

+    interface IAppVersionWeb

+    {

+        CONST_VTBL struct IAppVersionWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWeb_get_version(This,__MIDL__IAppVersionWeb0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWeb0000) ) 

+

+#define IAppVersionWeb_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWeb_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppVersionWebSystem_INTERFACE_DEFINED__

+#define __IAppVersionWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppVersionWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("9367601E-C100-4702-8755-808D6BB385D8")

+    IAppVersionWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebSystem, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebSystem, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWebSystem * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebSystem, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWebSystem * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebSystemVtbl;

+

+    interface IAppVersionWebSystem

+    {

+        CONST_VTBL struct IAppVersionWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWebSystem_get_version(This,__MIDL__IAppVersionWebSystem0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWebSystem0000) ) 

+

+#define IAppVersionWebSystem_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWebSystem_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentState_INTERFACE_DEFINED__

+#define __ICurrentState_INTERFACE_DEFINED__

+

+/* interface ICurrentState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A643508B-B1E3-4457-9769-32C953BD1D57")

+    ICurrentState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentState * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015);

+        

+        END_INTERFACE

+    } ICurrentStateVtbl;

+

+    interface ICurrentState

+    {

+        CONST_VTBL struct ICurrentStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentState_get_stateValue(This,__MIDL__ICurrentState0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentState0000) ) 

+

+#define ICurrentState_get_availableVersion(This,__MIDL__ICurrentState0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentState0001) ) 

+

+#define ICurrentState_get_bytesDownloaded(This,__MIDL__ICurrentState0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentState0002) ) 

+

+#define ICurrentState_get_totalBytesToDownload(This,__MIDL__ICurrentState0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentState0003) ) 

+

+#define ICurrentState_get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004) ) 

+

+#define ICurrentState_get_nextRetryTime(This,__MIDL__ICurrentState0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentState0005) ) 

+

+#define ICurrentState_get_installProgress(This,__MIDL__ICurrentState0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentState0006) ) 

+

+#define ICurrentState_get_installTimeRemainingMs(This,__MIDL__ICurrentState0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentState0007) ) 

+

+#define ICurrentState_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentState_get_errorCode(This,__MIDL__ICurrentState0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentState0008) ) 

+

+#define ICurrentState_get_extraCode1(This,__MIDL__ICurrentState0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentState0009) ) 

+

+#define ICurrentState_get_completionMessage(This,__MIDL__ICurrentState0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentState0010) ) 

+

+#define ICurrentState_get_installerResultCode(This,__MIDL__ICurrentState0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentState0011) ) 

+

+#define ICurrentState_get_installerResultExtraCode1(This,__MIDL__ICurrentState0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentState0012) ) 

+

+#define ICurrentState_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013) ) 

+

+#define ICurrentState_get_postInstallUrl(This,__MIDL__ICurrentState0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentState0014) ) 

+

+#define ICurrentState_get_postInstallAction(This,__MIDL__ICurrentState0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentState0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentState_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentStateSystem_INTERFACE_DEFINED__

+#define __ICurrentStateSystem_INTERFACE_DEFINED__

+

+/* interface ICurrentStateSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentStateSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("71CBC6BB-CA4B-4B5A-83C0-FC95F9CA6A30")

+    ICurrentStateSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateSystem0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentStateSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentStateSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentStateSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentStateSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentStateSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateSystem0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateSystem0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateSystem0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateSystem, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentStateSystem * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateSystem0015);

+        

+        END_INTERFACE

+    } ICurrentStateSystemVtbl;

+

+    interface ICurrentStateSystem

+    {

+        CONST_VTBL struct ICurrentStateSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentStateSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentStateSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentStateSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentStateSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentStateSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentStateSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentStateSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentStateSystem_get_stateValue(This,__MIDL__ICurrentStateSystem0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentStateSystem0000) ) 

+

+#define ICurrentStateSystem_get_availableVersion(This,__MIDL__ICurrentStateSystem0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentStateSystem0001) ) 

+

+#define ICurrentStateSystem_get_bytesDownloaded(This,__MIDL__ICurrentStateSystem0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentStateSystem0002) ) 

+

+#define ICurrentStateSystem_get_totalBytesToDownload(This,__MIDL__ICurrentStateSystem0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentStateSystem0003) ) 

+

+#define ICurrentStateSystem_get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateSystem0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateSystem0004) ) 

+

+#define ICurrentStateSystem_get_nextRetryTime(This,__MIDL__ICurrentStateSystem0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentStateSystem0005) ) 

+

+#define ICurrentStateSystem_get_installProgress(This,__MIDL__ICurrentStateSystem0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentStateSystem0006) ) 

+

+#define ICurrentStateSystem_get_installTimeRemainingMs(This,__MIDL__ICurrentStateSystem0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentStateSystem0007) ) 

+

+#define ICurrentStateSystem_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentStateSystem_get_errorCode(This,__MIDL__ICurrentStateSystem0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentStateSystem0008) ) 

+

+#define ICurrentStateSystem_get_extraCode1(This,__MIDL__ICurrentStateSystem0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentStateSystem0009) ) 

+

+#define ICurrentStateSystem_get_completionMessage(This,__MIDL__ICurrentStateSystem0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentStateSystem0010) ) 

+

+#define ICurrentStateSystem_get_installerResultCode(This,__MIDL__ICurrentStateSystem0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentStateSystem0011) ) 

+

+#define ICurrentStateSystem_get_installerResultExtraCode1(This,__MIDL__ICurrentStateSystem0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentStateSystem0012) ) 

+

+#define ICurrentStateSystem_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateSystem0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateSystem0013) ) 

+

+#define ICurrentStateSystem_get_postInstallUrl(This,__MIDL__ICurrentStateSystem0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentStateSystem0014) ) 

+

+#define ICurrentStateSystem_get_postInstallAction(This,__MIDL__ICurrentStateSystem0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentStateSystem0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentStateSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_INTERFACE_DEFINED__

+#define __IGoogleUpdate3Web_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3Web */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3Web;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A35E1C5E-0A18-4FF1-8C4D-DD8ED07B0BD0")

+    IGoogleUpdate3Web : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3Web * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3Web * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3Web, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3Web * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebVtbl;

+

+    interface IGoogleUpdate3Web

+    {

+        CONST_VTBL struct IGoogleUpdate3WebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3Web_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3Web_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3Web_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3Web_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3Web_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3Web_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3Web_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3Web_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3Web_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebSystem_INTERFACE_DEFINED__

+#define __IGoogleUpdate3WebSystem_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3WebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3WebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AE5F8C9D-B94D-4367-A422-D1DC4E913A52")

+    IGoogleUpdate3WebSystem : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3WebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3WebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3WebSystem, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3WebSystem * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebSystemVtbl;

+

+    interface IGoogleUpdate3WebSystem

+    {

+        CONST_VTBL struct IGoogleUpdate3WebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3WebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3WebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3WebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3WebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3WebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3WebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3WebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3WebSystem_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3WebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_INTERFACE_DEFINED__

+#define __IAppBundleWeb_INTERFACE_DEFINED__

+

+/* interface IAppBundleWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("0569DBB9-BAA0-48D5-8543-0F3BE30A1648")

+    IAppBundleWeb : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWeb * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWeb * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebVtbl;

+

+    interface IAppBundleWeb

+    {

+        CONST_VTBL struct IAppBundleWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWeb_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWeb_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWeb_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWeb_get_displayLanguage(This,__MIDL__IAppBundleWeb0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWeb0000) ) 

+

+#define IAppBundleWeb_put_displayLanguage(This,__MIDL__IAppBundleWeb0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWeb0001) ) 

+

+#define IAppBundleWeb_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWeb_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWeb_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWeb_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWeb_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWeb_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWeb_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWeb_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWeb_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWeb_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWebSystem_INTERFACE_DEFINED__

+#define __IAppBundleWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppBundleWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("BFFD766D-A2DD-436E-89FA-BF05BC5B5958")

+    IAppBundleWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebSystem0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWebSystem0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWebSystem0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWebSystem * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWebSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebSystem, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWebSystem * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebSystemVtbl;

+

+    interface IAppBundleWebSystem

+    {

+        CONST_VTBL struct IAppBundleWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWebSystem_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWebSystem_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWebSystem_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWebSystem_get_displayLanguage(This,__MIDL__IAppBundleWebSystem0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWebSystem0000) ) 

+

+#define IAppBundleWebSystem_put_displayLanguage(This,__MIDL__IAppBundleWebSystem0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWebSystem0001) ) 

+

+#define IAppBundleWebSystem_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWebSystem_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWebSystem_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWebSystem_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWebSystem_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWebSystem_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWebSystem_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWebSystem_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWebSystem_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWebSystem_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWebSystem_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWebSystem_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWeb_INTERFACE_DEFINED__

+#define __IAppWeb_INTERFACE_DEFINED__

+

+/* interface IAppWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("63D941DE-F67B-4E15-8A90-27881DA9EF4A")

+    IAppWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWeb0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWeb * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [in] */ BSTR __MIDL__IAppWeb0002);

+        

+        END_INTERFACE

+    } IAppWebVtbl;

+

+    interface IAppWeb

+    {

+        CONST_VTBL struct IAppWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWeb_get_appId(This,__MIDL__IAppWeb0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWeb0000) ) 

+

+#define IAppWeb_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWeb_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWeb_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWeb_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWeb_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWeb_get_serverInstallDataIndex(This,__MIDL__IAppWeb0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWeb0001) ) 

+

+#define IAppWeb_put_serverInstallDataIndex(This,__MIDL__IAppWeb0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWeb0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWebSystem_INTERFACE_DEFINED__

+#define __IAppWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("540B227A-F442-45D5-BA52-298A05BAF1A8")

+    IAppWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWebSystem0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWebSystem * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebSystem0001);

+        

+        DECLSPEC_XFGVIRT(IAppWebSystem, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWebSystem * This,

+            /* [in] */ BSTR __MIDL__IAppWebSystem0002);

+        

+        END_INTERFACE

+    } IAppWebSystemVtbl;

+

+    interface IAppWebSystem

+    {

+        CONST_VTBL struct IAppWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWebSystem_get_appId(This,__MIDL__IAppWebSystem0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWebSystem0000) ) 

+

+#define IAppWebSystem_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWebSystem_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWebSystem_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWebSystem_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWebSystem_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWebSystem_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWebSystem_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWebSystem_get_serverInstallDataIndex(This,__MIDL__IAppWebSystem0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWebSystem0001) ) 

+

+#define IAppWebSystem_put_serverInstallDataIndex(This,__MIDL__IAppWebSystem0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWebSystem0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_INTERFACE_DEFINED__

+#define __IAppCommandWeb_INTERFACE_DEFINED__

+

+/* interface IAppCommandWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("10A2D03F-8BC7-49DB-A21E-A7D4429D2759")

+    IAppCommandWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWeb * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebVtbl;

+

+    interface IAppCommandWeb

+    {

+        CONST_VTBL struct IAppCommandWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWeb_get_status(This,__MIDL__IAppCommandWeb0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWeb0000) ) 

+

+#define IAppCommandWeb_get_exitCode(This,__MIDL__IAppCommandWeb0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWeb0001) ) 

+

+#define IAppCommandWeb_get_output(This,__MIDL__IAppCommandWeb0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWeb0002) ) 

+

+#define IAppCommandWeb_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWebSystem_INTERFACE_DEFINED__

+#define __IAppCommandWebSystem_INTERFACE_DEFINED__

+

+/* interface IAppCommandWebSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWebSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("C6E2C5D5-86FA-4A64-9D08-8C9B644F0E49")

+    IAppCommandWebSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebSystem0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWebSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWebSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWebSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWebSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWebSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWebSystem * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebSystem0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWebSystem * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebSystem0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWebSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebSystem0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebSystem, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWebSystem * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebSystemVtbl;

+

+    interface IAppCommandWebSystem

+    {

+        CONST_VTBL struct IAppCommandWebSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWebSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWebSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWebSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWebSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWebSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWebSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWebSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWebSystem_get_status(This,__MIDL__IAppCommandWebSystem0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWebSystem0000) ) 

+

+#define IAppCommandWebSystem_get_exitCode(This,__MIDL__IAppCommandWebSystem0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWebSystem0001) ) 

+

+#define IAppCommandWebSystem_get_output(This,__MIDL__IAppCommandWebSystem0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWebSystem0002) ) 

+

+#define IAppCommandWebSystem_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWebSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_INTERFACE_DEFINED__

+#define __IPolicyStatus_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("6A54FE75-EDC8-404E-A41B-4278C0557151")

+    IPolicyStatus : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusVtbl;

+

+    interface IPolicyStatus

+    {

+        CONST_VTBL struct IPolicyStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatus_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatus_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatus_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatus_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatus_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusSystem_INTERFACE_DEFINED__

+#define __IPolicyStatusSystem_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("F3964464-A939-44D3-9244-36BD2E3630B8")

+    IPolicyStatusSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatusSystem * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatusSystem * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusSystem, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatusSystem * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusSystemVtbl;

+

+    interface IPolicyStatusSystem

+    {

+        CONST_VTBL struct IPolicyStatusSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusSystem_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatusSystem_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatusSystem_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatusSystem_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatusSystem_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatusSystem_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatusSystem_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatusSystem_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatusSystem_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_INTERFACE_DEFINED__

+#define __IPolicyStatusValue_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValue */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValue;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2A7D2AE7-8EEE-45B4-B17F-31DAAC82CCBB")

+    IPolicyStatusValue : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValue * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValue * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValue * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueVtbl;

+

+    interface IPolicyStatusValue

+    {

+        CONST_VTBL struct IPolicyStatusValueVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValue_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValue_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValue_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValue_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValue_get_source(This,__MIDL__IPolicyStatusValue0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValue0000) ) 

+

+#define IPolicyStatusValue_get_value(This,__MIDL__IPolicyStatusValue0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValue0001) ) 

+

+#define IPolicyStatusValue_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValue_get_conflictSource(This,__MIDL__IPolicyStatusValue0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValue0002) ) 

+

+#define IPolicyStatusValue_get_conflictValue(This,__MIDL__IPolicyStatusValue0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValue0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValue_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueSystem_INTERFACE_DEFINED__

+#define __IPolicyStatusValueSystem_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValueSystem */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValueSystem;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("CC2CCD05-119C-44E1-852D-6DCC2DFB72EC")

+    IPolicyStatusValueSystem : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueSystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValueSystem * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValueSystem * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValueSystem * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValueSystem * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValueSystem * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValueSystem * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValueSystem * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueSystem, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValueSystem * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueSystem0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueSystemVtbl;

+

+    interface IPolicyStatusValueSystem

+    {

+        CONST_VTBL struct IPolicyStatusValueSystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValueSystem_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValueSystem_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValueSystem_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValueSystem_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValueSystem_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValueSystem_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValueSystem_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValueSystem_get_source(This,__MIDL__IPolicyStatusValueSystem0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValueSystem0000) ) 

+

+#define IPolicyStatusValueSystem_get_value(This,__MIDL__IPolicyStatusValueSystem0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValueSystem0001) ) 

+

+#define IPolicyStatusValueSystem_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValueSystem_get_conflictSource(This,__MIDL__IPolicyStatusValueSystem0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValueSystem0002) ) 

+

+#define IPolicyStatusValueSystem_get_conflictValue(This,__MIDL__IPolicyStatusValueSystem0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValueSystem0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValueSystem_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_INTERFACE_DEFINED__

+#define __IPolicyStatus2_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("06A6AA1E-2680-4076-A7CD-6053722CF454")

+    IPolicyStatus2 : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2Vtbl;

+

+    interface IPolicyStatus2

+    {

+        CONST_VTBL struct IPolicyStatus2Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2System_INTERFACE_DEFINED__

+#define __IPolicyStatus2System_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2System */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2System;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("F4A0362A-3702-48B8-9896-7D8013D03AB2")

+    IPolicyStatus2System : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValueSystem **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2SystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2System * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2System * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2System * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2System * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2System * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2System * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2System * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2System * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2System * This,

+            /* [out] */ IPolicyStatusValueSystem **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2SystemVtbl;

+

+    interface IPolicyStatus2System

+    {

+        CONST_VTBL struct IPolicyStatus2SystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2System_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2System_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2System_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2System_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2System_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2System_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2System_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2System_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2System_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2System_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2System_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2System_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2System_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2System_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2System_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2System_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2System_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2System_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2System_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2System_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2System_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_INTERFACE_DEFINED__

+#define __IPolicyStatus3_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("029BD175-5035-4E2A-8724-C9D47F4FAEA3")

+    IPolicyStatus3 : public IPolicyStatus2

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3 * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3Vtbl;

+

+    interface IPolicyStatus3

+    {

+        CONST_VTBL struct IPolicyStatus3Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3System_INTERFACE_DEFINED__

+#define __IPolicyStatus3System_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3System */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3System;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7B26CC23-B2B8-441B-AA9C-8B551ABB611B")

+    IPolicyStatus3System : public IPolicyStatus2System

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueSystem **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3SystemVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3System * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3System * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3System * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3System * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3System * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3System * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3System * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3System * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3System * This,

+            /* [out] */ IPolicyStatusValueSystem **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3System * This,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2System, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3System * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3System, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3System * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueSystem **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3SystemVtbl;

+

+    interface IPolicyStatus3System

+    {

+        CONST_VTBL struct IPolicyStatus3SystemVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3System_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3System_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3System_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3System_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3System_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3System_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3System_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3System_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3System_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3System_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3System_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3System_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3System_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3System_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3System_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3System_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3System_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3System_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3System_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3System_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3System_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3System_INTERFACE_DEFINED__ */

+

+

+#ifndef __IProcessLauncher_INTERFACE_DEFINED__

+#define __IProcessLauncher_INTERFACE_DEFINED__

+

+/* interface IProcessLauncher */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IProcessLauncher;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("4779D540-F6A3-455F-A929-7ADFE85B6F09")

+    IProcessLauncher : public IUnknown

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE LaunchCmdLine( 

+            /* [string][in] */ const WCHAR *cmd_line) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE LaunchBrowser( 

+            /* [in] */ DWORD browser_type,

+            /* [string][in] */ const WCHAR *url) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE LaunchCmdElevated( 

+            /* [string][in] */ const WCHAR *app_guid,

+            /* [string][in] */ const WCHAR *cmd_id,

+            /* [in] */ DWORD caller_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IProcessLauncherVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IProcessLauncher * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IProcessLauncher * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IProcessLauncher * This);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdLine)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdLine )( 

+            IProcessLauncher * This,

+            /* [string][in] */ const WCHAR *cmd_line);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchBrowser)

+        HRESULT ( STDMETHODCALLTYPE *LaunchBrowser )( 

+            IProcessLauncher * This,

+            /* [in] */ DWORD browser_type,

+            /* [string][in] */ const WCHAR *url);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdElevated)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdElevated )( 

+            IProcessLauncher * This,

+            /* [string][in] */ const WCHAR *app_guid,

+            /* [string][in] */ const WCHAR *cmd_id,

+            /* [in] */ DWORD caller_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle);

+        

+        END_INTERFACE

+    } IProcessLauncherVtbl;

+

+    interface IProcessLauncher

+    {

+        CONST_VTBL struct IProcessLauncherVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IProcessLauncher_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IProcessLauncher_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IProcessLauncher_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IProcessLauncher_LaunchCmdLine(This,cmd_line)	\

+    ( (This)->lpVtbl -> LaunchCmdLine(This,cmd_line) ) 

+

+#define IProcessLauncher_LaunchBrowser(This,browser_type,url)	\

+    ( (This)->lpVtbl -> LaunchBrowser(This,browser_type,url) ) 

+

+#define IProcessLauncher_LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle)	\

+    ( (This)->lpVtbl -> LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IProcessLauncher_INTERFACE_DEFINED__ */

+

+

+#ifndef __IProcessLauncher2_INTERFACE_DEFINED__

+#define __IProcessLauncher2_INTERFACE_DEFINED__

+

+/* interface IProcessLauncher2 */

+/* [unique][helpstring][uuid][oleautomation][object] */ 

+

+

+EXTERN_C const IID IID_IProcessLauncher2;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("74F243B8-75D1-4E2D-BC89-5689798EEF3E")

+    IProcessLauncher2 : public IProcessLauncher

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE LaunchCmdLineEx( 

+            /* [string][in] */ const WCHAR *cmd_line,

+            /* [out] */ DWORD *server_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle,

+            /* [out] */ ULONG_PTR *stdout_handle) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IProcessLauncher2Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IProcessLauncher2 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IProcessLauncher2 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IProcessLauncher2 * This);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdLine)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdLine )( 

+            IProcessLauncher2 * This,

+            /* [string][in] */ const WCHAR *cmd_line);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchBrowser)

+        HRESULT ( STDMETHODCALLTYPE *LaunchBrowser )( 

+            IProcessLauncher2 * This,

+            /* [in] */ DWORD browser_type,

+            /* [string][in] */ const WCHAR *url);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher, LaunchCmdElevated)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdElevated )( 

+            IProcessLauncher2 * This,

+            /* [string][in] */ const WCHAR *app_guid,

+            /* [string][in] */ const WCHAR *cmd_id,

+            /* [in] */ DWORD caller_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle);

+        

+        DECLSPEC_XFGVIRT(IProcessLauncher2, LaunchCmdLineEx)

+        HRESULT ( STDMETHODCALLTYPE *LaunchCmdLineEx )( 

+            IProcessLauncher2 * This,

+            /* [string][in] */ const WCHAR *cmd_line,

+            /* [out] */ DWORD *server_proc_id,

+            /* [out] */ ULONG_PTR *proc_handle,

+            /* [out] */ ULONG_PTR *stdout_handle);

+        

+        END_INTERFACE

+    } IProcessLauncher2Vtbl;

+

+    interface IProcessLauncher2

+    {

+        CONST_VTBL struct IProcessLauncher2Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IProcessLauncher2_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IProcessLauncher2_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IProcessLauncher2_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IProcessLauncher2_LaunchCmdLine(This,cmd_line)	\

+    ( (This)->lpVtbl -> LaunchCmdLine(This,cmd_line) ) 

+

+#define IProcessLauncher2_LaunchBrowser(This,browser_type,url)	\

+    ( (This)->lpVtbl -> LaunchBrowser(This,browser_type,url) ) 

+

+#define IProcessLauncher2_LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle)	\

+    ( (This)->lpVtbl -> LaunchCmdElevated(This,app_guid,cmd_id,caller_proc_id,proc_handle) ) 

+

+

+#define IProcessLauncher2_LaunchCmdLineEx(This,cmd_line,server_proc_id,proc_handle,stdout_handle)	\

+    ( (This)->lpVtbl -> LaunchCmdLineEx(This,cmd_line,server_proc_id,proc_handle,stdout_handle) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IProcessLauncher2_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLegacyLib_LIBRARY_DEFINED__

+#define __UpdaterLegacyLib_LIBRARY_DEFINED__

+

+/* library UpdaterLegacyLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLegacyLib;

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("A0FEB7CB-E0D8-4035-A4C9-5620A8C725AD")

+GoogleUpdate3WebUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("FAC5C548-84EC-474C-A4B3-CD414E09B14C")

+GoogleUpdate3WebSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebServiceClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("687DCE9A-57BE-4026-BEC4-C0A9ACBBCAF2")

+GoogleUpdate3WebServiceClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("E432DCFE-6A32-4C07-B038-9D74AC80D6AB")

+PolicyStatusUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("F675D224-BD54-40E9-AECB-AA3B64EB9863")

+PolicyStatusSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_ProcessLauncherClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("CEC2877D-4856-460E-BE73-11DD7CC7C821")

+ProcessLauncherClass;

+#endif

+#endif /* __UpdaterLegacyLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system.tlb
new file mode 100644
index 0000000..f4f91e2
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system_i.c
new file mode 100644
index 0000000..001ea17
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system_i.c
@@ -0,0 +1,163 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_system.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWeb,0xAA10D17D,0x7A09,0x48AC,0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWebSystem,0x9367601E,0xC100,0x4702,0x87,0x55,0x80,0x8D,0x6B,0xB3,0x85,0xD8);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentState,0xA643508B,0xB1E3,0x4457,0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentStateSystem,0x71CBC6BB,0xCA4B,0x4B5A,0x83,0xC0,0xFC,0x95,0xF9,0xCA,0x6A,0x30);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3Web,0xA35E1C5E,0x0A18,0x4FF1,0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3WebSystem,0xAE5F8C9D,0xB94D,0x4367,0xA4,0x22,0xD1,0xDC,0x4E,0x91,0x3A,0x52);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWeb,0x0569DBB9,0xBAA0,0x48D5,0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWebSystem,0xBFFD766D,0xA2DD,0x436E,0x89,0xFA,0xBF,0x05,0xBC,0x5B,0x59,0x58);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWeb,0x63D941DE,0xF67B,0x4E15,0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWebSystem,0x540B227A,0xF442,0x45D5,0xBA,0x52,0x29,0x8A,0x05,0xBA,0xF1,0xA8);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWeb,0x10A2D03F,0x8BC7,0x49DB,0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWebSystem,0xC6E2C5D5,0x86FA,0x4A64,0x9D,0x08,0x8C,0x9B,0x64,0x4F,0x0E,0x49);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus,0x6A54FE75,0xEDC8,0x404E,0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusSystem,0xF3964464,0xA939,0x44D3,0x92,0x44,0x36,0xBD,0x2E,0x36,0x30,0xB8);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValue,0x2A7D2AE7,0x8EEE,0x45B4,0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValueSystem,0xCC2CCD05,0x119C,0x44E1,0x85,0x2D,0x6D,0xCC,0x2D,0xFB,0x72,0xEC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2,0x06A6AA1E,0x2680,0x4076,0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2System,0xF4A0362A,0x3702,0x48B8,0x98,0x96,0x7D,0x80,0x13,0xD0,0x3A,0xB2);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3,0x029BD175,0x5035,0x4E2A,0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3System,0x7B26CC23,0xB2B8,0x441B,0xAA,0x9C,0x8B,0x55,0x1A,0xBB,0x61,0x1B);

+

+

+MIDL_DEFINE_GUID(IID, IID_IProcessLauncher,0x4779D540,0xF6A3,0x455F,0xA9,0x29,0x7A,0xDF,0xE8,0x5B,0x6F,0x09);

+

+

+MIDL_DEFINE_GUID(IID, IID_IProcessLauncher2,0x74F243B8,0x75D1,0x4E2D,0xBC,0x89,0x56,0x89,0x79,0x8E,0xEF,0x3E);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLegacyLib,0x7A1FDE1F,0xAAA9,0x441B,0xB9,0xAA,0x95,0xB3,0x1D,0x78,0x59,0x2B);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebUserClass,0xA0FEB7CB,0xE0D8,0x4035,0xA4,0xC9,0x56,0x20,0xA8,0xC7,0x25,0xAD);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebSystemClass,0xFAC5C548,0x84EC,0x474C,0xA4,0xB3,0xCD,0x41,0x4E,0x09,0xB1,0x4C);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebServiceClass,0x687DCE9A,0x57BE,0x4026,0xBE,0xC4,0xC0,0xA9,0xAC,0xBB,0xCA,0xF2);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusUserClass,0xE432DCFE,0x6A32,0x4C07,0xB0,0x38,0x9D,0x74,0xAC,0x80,0xD6,0xAB);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusSystemClass,0xF675D224,0xBD54,0x40E9,0xAE,0xCB,0xAA,0x3B,0x64,0xEB,0x98,0x63);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_ProcessLauncherClass,0xCEC2877D,0x4856,0x460E,0xBE,0x73,0x11,0xDD,0x7C,0xC7,0xC8,0x21);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system_p.c
new file mode 100644
index 0000000..a394e63
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_system_p.c
@@ -0,0 +1,7096 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_system.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */

+

+#pragma optimize("", off ) 

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_legacy_idl_system.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1153                              

+#define PROC_FORMAT_STRING_SIZE   3361                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_system_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_system_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_system__MIDL_TypeFormatString;

+extern const updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING updater_legacy_idl_system__MIDL_ProcFormatString;

+extern const updater_legacy_idl_system_MIDL_EXPR_FORMAT_STRING updater_legacy_idl_system__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentStateSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentStateSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3WebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWebSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWebSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValueSystem_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueSystem_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2System_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2System_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3System_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3System_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IProcessLauncher_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IProcessLauncher_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IProcessLauncher2_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IProcessLauncher2_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_WIN32__)

+#error  Invalid build platform for this stub.

+#endif

+

+#if !(TARGET_IS_NT50_OR_LATER)

+#error You need Windows 2000 or later to run this stub because it uses these features:

+#error   /robust command line switch.

+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.

+#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.

+#endif

+

+

+static const updater_legacy_idl_system_MIDL_PROC_FORMAT_STRING updater_legacy_idl_system__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x7 ),	/* 7 */

+/*  8 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 18 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0000 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0000 */

+

+

+	/* Parameter __MIDL__IAppWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppWeb0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWeb0000 */

+

+/* 24 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 26 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 28 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 30 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 32 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_packageCount */

+

+

+	/* Procedure get_packageCount */

+

+/* 36 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 38 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 42 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 44 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 46 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 50 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 52 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 54 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppCommandWebSystem0001 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0001 */

+

+

+	/* Parameter count */

+

+

+	/* Parameter count */

+

+/* 60 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 62 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 64 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 66 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 68 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 70 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageWeb */

+

+

+	/* Procedure get_packageWeb */

+

+/* 72 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 74 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 78 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 80 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 82 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 88 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 90 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 92 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 96 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 98 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 100 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter package */

+

+

+	/* Parameter package */

+

+/* 102 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 104 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 106 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 108 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 110 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 112 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_stateValue */

+

+

+	/* Procedure get_stateValue */

+

+/* 114 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 116 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 122 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 124 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 126 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 128 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 130 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 134 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 136 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter minutes */

+

+

+	/* Parameter minutes */

+

+

+	/* Parameter __MIDL__IAppCommandWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0000 */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0000 */

+

+

+	/* Parameter __MIDL__ICurrentState0000 */

+

+/* 138 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 140 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 142 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 144 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 146 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 148 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_availableVersion */

+

+

+	/* Procedure get_availableVersion */

+

+/* 150 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 152 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 156 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 158 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 162 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 164 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 166 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 168 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 172 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0001 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0001 */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0001 */

+

+

+	/* Parameter __MIDL__ICurrentState0001 */

+

+/* 174 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 176 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 178 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 180 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 182 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 184 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_bytesDownloaded */

+

+

+	/* Procedure get_bytesDownloaded */

+

+/* 186 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 188 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 192 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 194 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 196 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 198 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 200 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 202 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 204 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 206 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 208 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0002 */

+

+

+	/* Parameter __MIDL__ICurrentState0002 */

+

+/* 210 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 212 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 214 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 216 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 218 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 220 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+/* 222 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 224 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 228 */	NdrFcShort( 0xa ),	/* 10 */

+/* 230 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 234 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 236 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 238 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 240 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 242 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 244 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter limit */

+

+

+	/* Parameter limit */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0003 */

+

+

+	/* Parameter __MIDL__ICurrentState0003 */

+

+/* 246 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 248 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 250 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 252 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 254 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 256 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+/* 258 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 260 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 264 */	NdrFcShort( 0xb ),	/* 11 */

+/* 266 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 270 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 272 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 274 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 276 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 280 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter days */

+

+

+	/* Parameter days */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0004 */

+

+

+	/* Parameter __MIDL__ICurrentState0004 */

+

+/* 282 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 284 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 286 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 288 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 290 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 292 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextRetryTime */

+

+

+	/* Procedure get_nextRetryTime */

+

+/* 294 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 296 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 300 */	NdrFcShort( 0xc ),	/* 12 */

+/* 302 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 306 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 308 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 310 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 312 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 314 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 316 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0005 */

+

+

+	/* Parameter __MIDL__ICurrentState0005 */

+

+/* 318 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 320 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 322 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 324 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 326 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 328 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 330 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 332 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 336 */	NdrFcShort( 0xd ),	/* 13 */

+/* 338 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 340 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 342 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 344 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 346 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 348 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 350 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 352 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+

+	/* Parameter __MIDL__ICurrentStateSystem0006 */

+

+

+	/* Parameter __MIDL__ICurrentState0006 */

+

+/* 354 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 356 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 358 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 360 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 362 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 364 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installTimeRemainingMs */

+

+

+	/* Procedure get_installTimeRemainingMs */

+

+/* 366 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 368 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 372 */	NdrFcShort( 0xe ),	/* 14 */

+/* 374 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 378 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 380 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 382 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 384 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 388 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0007 */

+

+

+	/* Parameter __MIDL__ICurrentState0007 */

+

+/* 390 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 392 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 394 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 396 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 398 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 400 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isCanceled */

+

+

+	/* Procedure get_isCanceled */

+

+/* 402 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 404 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0xf ),	/* 15 */

+/* 410 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 412 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 414 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 416 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 418 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 420 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 422 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 424 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_canceled */

+

+

+	/* Parameter is_canceled */

+

+/* 426 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 428 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 430 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 432 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 434 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 436 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 438 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 440 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 446 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 450 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 452 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 454 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 456 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 458 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 460 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0008 */

+

+

+	/* Parameter __MIDL__ICurrentState0008 */

+

+/* 462 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 464 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 466 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 468 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 470 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 472 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 474 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 476 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 480 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 482 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 486 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 488 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 490 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 492 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 494 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 496 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0009 */

+

+

+	/* Parameter __MIDL__ICurrentState0009 */

+

+/* 498 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 500 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 502 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 504 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 506 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 508 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_completionMessage */

+

+

+	/* Procedure get_completionMessage */

+

+/* 510 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 512 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 516 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 518 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 522 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 524 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 526 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 528 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 530 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 532 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0010 */

+

+

+	/* Parameter __MIDL__ICurrentState0010 */

+

+/* 534 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 536 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 538 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 540 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 542 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 544 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultCode */

+

+

+	/* Procedure get_installerResultCode */

+

+/* 546 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 548 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 552 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 554 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 556 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 558 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 560 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 562 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 564 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 568 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0011 */

+

+

+	/* Parameter __MIDL__ICurrentState0011 */

+

+/* 570 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 572 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 574 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 576 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 578 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 580 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultExtraCode1 */

+

+

+	/* Procedure get_installerResultExtraCode1 */

+

+/* 582 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 584 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 588 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 590 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 594 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 596 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 598 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 600 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 602 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 604 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0012 */

+

+

+	/* Parameter __MIDL__ICurrentState0012 */

+

+/* 606 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 608 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 610 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 612 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 614 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 616 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+/* 618 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 620 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 624 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 626 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 630 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 632 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 634 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 636 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 638 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 640 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0013 */

+

+

+	/* Parameter __MIDL__ICurrentState0013 */

+

+/* 642 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 644 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 646 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 648 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 650 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 652 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallUrl */

+

+

+	/* Procedure get_postInstallUrl */

+

+/* 654 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 656 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 660 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 662 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 664 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 666 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 668 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 670 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 672 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 674 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 676 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0014 */

+

+

+	/* Parameter __MIDL__ICurrentState0014 */

+

+/* 678 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 680 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 682 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 684 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 686 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 688 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallAction */

+

+

+	/* Procedure get_postInstallAction */

+

+/* 690 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 692 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 698 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 704 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 706 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateSystem0015 */

+

+

+	/* Parameter __MIDL__ICurrentState0015 */

+

+/* 714 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 716 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 718 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 720 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 722 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 724 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createAppBundleWeb */

+

+

+	/* Procedure createAppBundleWeb */

+

+/* 726 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 728 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 732 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 734 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 736 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 738 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 740 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 742 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 748 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_bundle_web */

+

+

+	/* Parameter app_bundle_web */

+

+/* 750 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 752 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 754 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 756 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 758 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 760 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createApp */

+

+

+	/* Procedure createApp */

+

+/* 762 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 764 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 768 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 770 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 774 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 776 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 778 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 782 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 784 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_guid */

+

+

+	/* Parameter app_guid */

+

+/* 786 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 788 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 790 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter brand_code */

+

+

+	/* Parameter brand_code */

+

+/* 792 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 794 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 796 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter language */

+

+

+	/* Parameter language */

+

+/* 798 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 800 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 802 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter ap */

+

+

+	/* Parameter ap */

+

+/* 804 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 806 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 808 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 810 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 812 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 814 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createInstalledApp */

+

+

+	/* Procedure createInstalledApp */

+

+/* 816 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 818 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 822 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 824 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 828 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 830 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 832 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 836 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 838 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 840 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 842 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 844 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 846 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 848 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 850 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure createAllInstalledApps */

+

+

+	/* Procedure createAllInstalledApps */

+

+/* 852 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 854 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 858 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 860 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 864 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 866 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 868 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 870 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 872 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 874 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 876 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 878 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 880 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_displayLanguage */

+

+

+	/* Procedure get_displayLanguage */

+

+/* 882 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 884 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 888 */	NdrFcShort( 0xa ),	/* 10 */

+/* 890 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 894 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 896 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 898 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 900 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 902 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 904 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0002 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0002 */

+

+

+	/* Parameter __MIDL__IAppBundleWebSystem0000 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0000 */

+

+/* 906 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 908 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 910 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 912 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 914 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 916 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_displayLanguage */

+

+

+	/* Procedure put_displayLanguage */

+

+/* 918 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 920 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 924 */	NdrFcShort( 0xb ),	/* 11 */

+/* 926 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 930 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 932 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 934 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 936 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 938 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 940 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppBundleWebSystem0001 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0001 */

+

+/* 942 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 944 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 946 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 948 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 950 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 952 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_parentHWND */

+

+

+	/* Procedure put_parentHWND */

+

+/* 954 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 956 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 960 */	NdrFcShort( 0xc ),	/* 12 */

+/* 962 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 964 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 966 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 968 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 970 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 972 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 974 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 976 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter hwnd */

+

+

+	/* Parameter hwnd */

+

+/* 978 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 980 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 982 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 984 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 986 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 988 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appWeb */

+

+

+	/* Procedure get_appWeb */

+

+/* 990 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 992 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 996 */	NdrFcShort( 0xe ),	/* 14 */

+/* 998 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1000 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1002 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1004 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1006 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1008 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1010 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1012 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 1014 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1016 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1018 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter app_web */

+

+

+	/* Parameter app_web */

+

+/* 1020 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1022 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1024 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1026 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1028 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1030 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure initialize */

+

+

+	/* Procedure initialize */

+

+/* 1032 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1034 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1038 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1040 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1042 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1044 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1046 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1048 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1050 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1052 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1054 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1056 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1058 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1060 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure checkForUpdate */

+

+

+	/* Procedure checkForUpdate */

+

+/* 1062 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1064 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1068 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1070 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1072 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1074 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1076 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1078 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1080 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1082 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1084 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1086 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1088 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1090 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure download */

+

+

+	/* Procedure download */

+

+/* 1092 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1094 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1098 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 1100 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1104 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1106 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1108 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1110 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1112 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1114 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1116 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1118 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1120 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure install */

+

+

+	/* Procedure install */

+

+/* 1122 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1124 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1128 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 1130 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1134 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1136 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1138 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1144 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1148 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure pause */

+

+

+	/* Procedure pause */

+

+/* 1152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1158 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 1160 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1166 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1168 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1174 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1176 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1178 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1180 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure resume */

+

+

+	/* Procedure resume */

+

+/* 1182 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1184 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1188 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 1190 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1192 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1194 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1196 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1198 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1200 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1202 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1204 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1206 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1208 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1210 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1212 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1214 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1218 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 1220 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1222 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1224 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1226 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1228 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1230 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1234 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1236 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1238 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1240 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure downloadPackage */

+

+

+	/* Procedure downloadPackage */

+

+/* 1242 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1244 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1248 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 1250 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1254 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1256 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1258 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1260 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1262 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1264 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1266 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1268 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1270 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter package_name */

+

+

+	/* Parameter package_name */

+

+/* 1272 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1274 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1276 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1278 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1280 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1282 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1284 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1286 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1290 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 1292 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1296 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1298 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1300 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1302 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1306 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1308 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 1310 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1312 */	NdrFcShort( 0x430 ),	/* Type Offset=1072 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1314 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1316 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1318 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentVersionWeb */

+

+

+	/* Procedure get_currentVersionWeb */

+

+/* 1320 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1322 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1326 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1328 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1332 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1334 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1336 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1338 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1340 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1342 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current */

+

+

+	/* Parameter current */

+

+/* 1344 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1346 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1348 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1350 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1352 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1354 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersionWeb */

+

+

+	/* Procedure get_nextVersionWeb */

+

+/* 1356 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1358 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1362 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1364 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1366 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1368 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1370 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1372 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1374 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1378 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter next */

+

+

+	/* Parameter next */

+

+/* 1380 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1382 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1384 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1386 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1388 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1390 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_command */

+

+

+	/* Procedure get_command */

+

+/* 1392 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1394 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1398 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1400 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1404 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1406 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1408 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1412 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1414 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter command_id */

+

+

+	/* Parameter command_id */

+

+/* 1416 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1418 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1420 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter command */

+

+

+	/* Parameter command */

+

+/* 1422 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1424 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1426 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1428 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1430 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1432 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1434 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1436 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1440 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1442 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1446 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1448 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1450 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1452 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1454 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1456 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1458 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1460 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1462 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1464 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1466 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1470 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1472 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1474 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1476 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1478 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1480 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1482 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1486 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1488 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1490 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1492 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1494 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1496 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1498 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure launch */

+

+

+	/* Procedure launch */

+

+/* 1500 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1502 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1506 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1508 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1510 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1512 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1514 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1516 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1518 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1522 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1524 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1526 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1528 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure uninstall */

+

+

+	/* Procedure uninstall */

+

+/* 1530 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1532 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1536 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1538 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1542 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1544 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1546 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1554 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1556 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1558 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_serverInstallDataIndex */

+

+

+	/* Procedure get_serverInstallDataIndex */

+

+/* 1560 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1562 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1566 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1568 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1570 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1572 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1574 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1576 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1578 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1580 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1582 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppWebSystem0001 */

+

+

+	/* Parameter __MIDL__IAppWeb0001 */

+

+/* 1584 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1586 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1588 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1590 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1592 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1594 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_serverInstallDataIndex */

+

+

+	/* Procedure put_serverInstallDataIndex */

+

+/* 1596 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1598 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1602 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1604 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1606 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1608 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1610 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1612 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1616 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1618 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppWebSystem0002 */

+

+

+	/* Parameter __MIDL__IAppWeb0002 */

+

+/* 1620 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1622 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1624 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1626 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1628 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1630 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_output */

+

+

+	/* Procedure get_output */

+

+/* 1632 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1634 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1638 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1640 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1644 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1646 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1648 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1650 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1652 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1654 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter pref */

+

+

+	/* Parameter pref */

+

+

+	/* Parameter __MIDL__IAppCommandWebSystem0002 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0002 */

+

+/* 1656 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1658 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1660 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1662 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1664 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1666 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure execute */

+

+

+	/* Procedure execute */

+

+/* 1668 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1670 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1674 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1676 */	NdrFcShort( 0x98 ),	/* x86 Stack size/offset = 152 */

+/* 1678 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1680 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1682 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xa,		/* 10 */

+/* 1684 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1686 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1688 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1690 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter substitution1 */

+

+

+	/* Parameter substitution1 */

+

+/* 1692 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1694 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1696 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution2 */

+

+

+	/* Parameter substitution2 */

+

+/* 1698 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1700 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1702 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution3 */

+

+

+	/* Parameter substitution3 */

+

+/* 1704 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1706 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 1708 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution4 */

+

+

+	/* Parameter substitution4 */

+

+/* 1710 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1712 */	NdrFcShort( 0x34 ),	/* x86 Stack size/offset = 52 */

+/* 1714 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution5 */

+

+

+	/* Parameter substitution5 */

+

+/* 1716 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1718 */	NdrFcShort( 0x44 ),	/* x86 Stack size/offset = 68 */

+/* 1720 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution6 */

+

+

+	/* Parameter substitution6 */

+

+/* 1722 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1724 */	NdrFcShort( 0x54 ),	/* x86 Stack size/offset = 84 */

+/* 1726 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution7 */

+

+

+	/* Parameter substitution7 */

+

+/* 1728 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1730 */	NdrFcShort( 0x64 ),	/* x86 Stack size/offset = 100 */

+/* 1732 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution8 */

+

+

+	/* Parameter substitution8 */

+

+/* 1734 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1736 */	NdrFcShort( 0x74 ),	/* x86 Stack size/offset = 116 */

+/* 1738 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution9 */

+

+

+	/* Parameter substitution9 */

+

+/* 1740 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1742 */	NdrFcShort( 0x84 ),	/* x86 Stack size/offset = 132 */

+/* 1744 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1746 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1748 */	NdrFcShort( 0x94 ),	/* x86 Stack size/offset = 148 */

+/* 1750 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 1752 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1754 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1758 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1760 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1762 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1764 */	NdrFcShort( 0x76 ),	/* 118 */

+/* 1766 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x5,		/* 5 */

+/* 1768 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1770 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1774 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter start_hour */

+

+

+	/* Parameter start_hour */

+

+/* 1776 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1778 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1780 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter start_min */

+

+

+	/* Parameter start_min */

+

+/* 1782 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1784 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1786 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter duration_min */

+

+

+	/* Parameter duration_min */

+

+/* 1788 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1790 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1792 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter are_updates_suppressed */

+

+

+	/* Parameter are_updates_suppressed */

+

+/* 1794 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1796 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1798 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1800 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1802 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1804 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 1806 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1808 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1812 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1814 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1818 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1820 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1822 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1826 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1828 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1830 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1832 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1834 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 1836 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1838 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1840 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1842 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1844 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1846 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 1848 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1850 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1854 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1856 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1858 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1860 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1862 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1864 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1866 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1868 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1870 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1872 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1874 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1876 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 1878 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1880 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1882 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1884 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1886 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1888 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 1890 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1892 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1896 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1898 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1902 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1904 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1906 */	0x8,		/* 8 */

+			0x7,		/* Ext Flags:  new corr desc, clt corr check, srv corr check, */

+/* 1908 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1910 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1912 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1914 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1916 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1918 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter prefix */

+

+

+	/* Parameter prefix */

+

+/* 1920 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1922 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1924 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1926 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1928 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1930 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 1932 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1934 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1938 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1940 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1942 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1944 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 1946 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1948 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1950 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1952 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1954 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1956 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1958 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1960 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter rollback_allowed */

+

+

+	/* Parameter rollback_allowed */

+

+/* 1962 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1964 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1966 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1968 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1970 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1972 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_hasConflict */

+

+

+	/* Procedure get_hasConflict */

+

+/* 1974 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1976 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1980 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1982 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1984 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1986 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 1988 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 1990 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1992 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1994 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1996 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter has_conflict */

+

+

+	/* Parameter has_conflict */

+

+/* 1998 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2000 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2002 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2004 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2006 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2008 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictValue */

+

+

+	/* Procedure get_conflictValue */

+

+/* 2010 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2012 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2016 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2018 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2020 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2022 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2024 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2026 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 2028 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2030 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2032 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueSystem0003 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0003 */

+

+/* 2034 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2036 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2038 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2040 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2042 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2044 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckedTime */

+

+

+	/* Procedure get_lastCheckedTime */

+

+/* 2046 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2048 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2052 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2054 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2056 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2058 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 2060 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2062 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2064 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2066 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2068 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter last_checked */

+

+

+	/* Parameter last_checked */

+

+/* 2070 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2072 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2074 */	0xc,		/* FC_DOUBLE */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2076 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2078 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2080 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2082 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2084 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2088 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2090 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2092 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2094 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2096 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2098 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2104 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2106 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2108 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2110 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2112 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2114 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2116 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2118 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2120 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2124 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2126 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2128 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2130 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2132 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2134 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2136 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2138 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2140 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2142 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2144 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2146 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2148 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2150 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2152 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2154 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2156 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2158 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2160 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2162 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2166 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2168 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2172 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2174 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2176 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2178 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2180 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2182 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2184 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2186 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2188 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2190 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2192 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2194 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2196 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2198 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2202 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2204 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2206 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2208 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2210 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2212 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2214 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2216 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2218 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2220 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2222 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2224 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2226 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2228 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2230 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2232 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2234 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2238 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2240 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2242 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2244 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2246 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2248 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2250 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2254 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2256 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2258 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2260 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2262 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2264 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2266 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2268 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2270 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2274 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2276 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2280 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2282 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2284 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2288 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2290 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2292 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2294 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2296 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2298 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2300 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2302 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2304 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2306 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2310 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2312 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2314 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2316 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2318 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2320 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2326 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2328 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2330 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2332 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2334 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2336 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2338 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2340 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2342 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2346 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2348 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2350 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2352 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2354 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2356 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2358 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2360 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2362 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2364 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2366 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2368 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2370 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2372 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2374 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2376 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2378 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2382 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2384 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2386 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2388 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2390 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2392 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2394 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2396 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2398 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2400 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2402 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2404 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2406 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2408 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2410 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2412 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2414 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2416 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2418 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2420 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2424 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2426 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2430 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2432 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2434 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2436 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2438 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2440 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2442 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2444 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2446 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2448 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2450 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2452 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2454 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2456 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2458 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2460 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2462 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2466 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2468 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2470 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2472 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2474 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2476 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2480 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2482 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2484 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2486 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2488 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2490 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2492 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2494 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2496 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2498 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2500 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2502 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2504 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2508 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 2510 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2512 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2514 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2516 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2518 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2522 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2524 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2526 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2528 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2530 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2532 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2534 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2536 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2538 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2540 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2542 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 2544 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2546 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2550 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2552 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2554 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2556 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2558 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2560 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2562 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2564 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2566 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2568 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2570 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2572 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2574 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2576 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2578 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2580 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2582 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2584 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2586 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2588 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2592 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2594 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2596 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2598 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2600 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2602 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2606 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2608 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2610 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2612 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2614 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2616 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2618 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2620 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2622 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2624 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2628 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2630 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2632 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2634 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2636 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2638 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2640 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2644 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2646 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2648 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2650 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2652 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2654 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2656 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2658 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2660 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2662 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2664 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2666 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2670 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2672 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2674 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2676 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2678 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2680 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2684 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2686 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2688 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2690 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2692 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2694 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2696 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2698 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2700 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2702 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2706 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2708 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2712 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2714 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2716 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2718 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2720 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2722 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2724 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2726 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2728 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2730 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2732 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2734 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2736 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2738 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2742 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2744 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2748 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2750 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2752 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2758 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2760 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2762 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2764 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2766 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2768 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2770 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2772 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2774 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2778 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2780 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2784 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2786 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2788 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2790 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2792 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2794 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2796 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2798 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2800 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2802 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2804 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2806 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2808 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2810 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2814 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2816 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2820 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2822 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2824 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2828 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2830 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2832 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2834 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2836 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2838 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2840 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2842 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2844 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2846 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2850 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2852 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2854 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2856 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2858 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2860 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2866 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2868 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2870 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2872 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2874 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2876 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2878 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2880 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2882 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2886 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2888 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2890 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2892 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2894 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2896 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2898 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2900 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2902 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2904 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2906 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2908 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2910 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2912 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2914 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2916 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2918 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2920 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2922 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2924 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2928 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2930 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2932 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2934 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2936 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2938 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2940 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2942 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2944 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2946 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2948 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2950 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2952 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2954 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2956 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2958 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2960 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2962 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2964 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2966 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2970 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2972 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2974 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2976 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2978 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2980 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2982 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2984 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2986 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2988 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2990 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2992 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2994 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2996 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2998 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 3000 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3002 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3004 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 3006 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3008 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3012 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 3014 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3016 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3018 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3020 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3022 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3024 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3026 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3028 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3030 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3032 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3034 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3036 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3038 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3040 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 3042 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3044 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3046 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 3048 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3050 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3054 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 3056 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3058 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3060 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3062 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3064 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3066 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3068 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3070 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3072 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3074 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3076 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3078 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3080 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3082 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 3084 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3086 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3088 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3090 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3092 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3096 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3098 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3100 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3102 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3104 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3106 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3108 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3110 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3112 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_machine */

+

+/* 3114 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3116 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3118 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3120 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3122 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3124 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 3126 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3128 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3130 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3132 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3134 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3138 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3140 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3142 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3144 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3146 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3148 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3150 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3152 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3154 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_machine */

+

+/* 3156 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3158 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3160 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3162 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3164 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3166 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 3168 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3170 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3172 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchCmdLine */

+

+/* 3174 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3176 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3180 */	NdrFcShort( 0x3 ),	/* 3 */

+/* 3182 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3184 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3186 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3188 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 3190 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3192 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3194 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3196 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter cmd_line */

+

+/* 3198 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3200 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3202 */	NdrFcShort( 0x47e ),	/* Type Offset=1150 */

+

+	/* Return value */

+

+/* 3204 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3206 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3208 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchBrowser */

+

+/* 3210 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3212 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3216 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 3218 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3220 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3222 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3224 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3226 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3228 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3230 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3232 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter browser_type */

+

+/* 3234 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3236 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3238 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter url */

+

+/* 3240 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3242 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3244 */	NdrFcShort( 0x47e ),	/* Type Offset=1150 */

+

+	/* Return value */

+

+/* 3246 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3248 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3250 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchCmdElevated */

+

+/* 3252 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3254 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3258 */	NdrFcShort( 0x5 ),	/* 5 */

+/* 3260 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 3262 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3264 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 3266 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 3268 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3270 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3272 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3274 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_guid */

+

+/* 3276 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3278 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3280 */	NdrFcShort( 0x47e ),	/* Type Offset=1150 */

+

+	/* Parameter cmd_id */

+

+/* 3282 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3284 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3286 */	NdrFcShort( 0x47e ),	/* Type Offset=1150 */

+

+	/* Parameter caller_proc_id */

+

+/* 3288 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3290 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3292 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter proc_handle */

+

+/* 3294 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3296 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3298 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3300 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3302 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3304 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure LaunchCmdLineEx */

+

+/* 3306 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3308 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3312 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3314 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 3316 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3318 */	NdrFcShort( 0x5c ),	/* 92 */

+/* 3320 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 3322 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3326 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3328 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter cmd_line */

+

+/* 3330 */	NdrFcShort( 0x10b ),	/* Flags:  must size, must free, in, simple ref, */

+/* 3332 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3334 */	NdrFcShort( 0x47e ),	/* Type Offset=1150 */

+

+	/* Parameter server_proc_id */

+

+/* 3336 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3338 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3340 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter proc_handle */

+

+/* 3342 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3344 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3346 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter stdout_handle */

+

+/* 3348 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 3350 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3352 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 3354 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3356 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 3358 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_legacy_idl_system_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_system__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  4 */	NdrFcShort( 0x1c ),	/* Offset= 28 (32) */

+/*  6 */	

+			0x13, 0x0,	/* FC_OP */

+/*  8 */	NdrFcShort( 0xe ),	/* Offset= 14 (22) */

+/* 10 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 12 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 14 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 16 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 18 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 20 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 22 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 24 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 26 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (10) */

+/* 28 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 30 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 32 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 34 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 36 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0xffde ),	/* Offset= -34 (6) */

+/* 42 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 44 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 46 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 48 */	NdrFcShort( 0x2 ),	/* Offset= 2 (50) */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 62 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 64 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 66 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 68 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 70 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 72 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 74 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 76 */	

+			0x12, 0x0,	/* FC_UP */

+/* 78 */	NdrFcShort( 0xffc8 ),	/* Offset= -56 (22) */

+/* 80 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (76) */

+/* 90 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/* 92 */	NdrFcShort( 0x3d4 ),	/* Offset= 980 (1072) */

+/* 94 */	

+			0x13, 0x0,	/* FC_OP */

+/* 96 */	NdrFcShort( 0x3bc ),	/* Offset= 956 (1052) */

+/* 98 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 100 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 102 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 104 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 106 */	NdrFcShort( 0x2 ),	/* Offset= 2 (108) */

+/* 108 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 110 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 112 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 116 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 118 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 122 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 124 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 128 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 130 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 134 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 136 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 140 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 142 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 146 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 148 */	NdrFcLong( 0xb ),	/* 11 */

+/* 152 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 154 */	NdrFcLong( 0xa ),	/* 10 */

+/* 158 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 160 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 164 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (396) */

+/* 166 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 170 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 172 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 176 */	NdrFcShort( 0xff56 ),	/* Offset= -170 (6) */

+/* 178 */	NdrFcLong( 0xd ),	/* 13 */

+/* 182 */	NdrFcShort( 0xdc ),	/* Offset= 220 (402) */

+/* 184 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 188 */	NdrFcShort( 0xff76 ),	/* Offset= -138 (50) */

+/* 190 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 194 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (420) */

+/* 196 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 200 */	NdrFcShort( 0x30a ),	/* Offset= 778 (978) */

+/* 202 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 206 */	NdrFcShort( 0x304 ),	/* Offset= 772 (978) */

+/* 208 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 212 */	NdrFcShort( 0x302 ),	/* Offset= 770 (982) */

+/* 214 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 218 */	NdrFcShort( 0x300 ),	/* Offset= 768 (986) */

+/* 220 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 224 */	NdrFcShort( 0x2fe ),	/* Offset= 766 (990) */

+/* 226 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 230 */	NdrFcShort( 0x2fc ),	/* Offset= 764 (994) */

+/* 232 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 236 */	NdrFcShort( 0x2fa ),	/* Offset= 762 (998) */

+/* 238 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 242 */	NdrFcShort( 0x2f8 ),	/* Offset= 760 (1002) */

+/* 244 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 248 */	NdrFcShort( 0x2e2 ),	/* Offset= 738 (986) */

+/* 250 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 254 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (990) */

+/* 256 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 260 */	NdrFcShort( 0x2ea ),	/* Offset= 746 (1006) */

+/* 262 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 266 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (1002) */

+/* 268 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 272 */	NdrFcShort( 0x2e2 ),	/* Offset= 738 (1010) */

+/* 274 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 278 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (1014) */

+/* 280 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 284 */	NdrFcShort( 0x2de ),	/* Offset= 734 (1018) */

+/* 286 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 290 */	NdrFcShort( 0x2dc ),	/* Offset= 732 (1022) */

+/* 292 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 296 */	NdrFcShort( 0x2da ),	/* Offset= 730 (1026) */

+/* 298 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 302 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 304 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 308 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 310 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 314 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 316 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 320 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 322 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 326 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 328 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 332 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 334 */	NdrFcLong( 0xe ),	/* 14 */

+/* 338 */	NdrFcShort( 0x2b8 ),	/* Offset= 696 (1034) */

+/* 340 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 344 */	NdrFcShort( 0x2bc ),	/* Offset= 700 (1044) */

+/* 346 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 350 */	NdrFcShort( 0x2ba ),	/* Offset= 698 (1048) */

+/* 352 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 356 */	NdrFcShort( 0x276 ),	/* Offset= 630 (986) */

+/* 358 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 362 */	NdrFcShort( 0x274 ),	/* Offset= 628 (990) */

+/* 364 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 368 */	NdrFcShort( 0x272 ),	/* Offset= 626 (994) */

+/* 370 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 374 */	NdrFcShort( 0x268 ),	/* Offset= 616 (990) */

+/* 376 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 380 */	NdrFcShort( 0x262 ),	/* Offset= 610 (990) */

+/* 382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0x0 ),	/* Offset= 0 (386) */

+/* 388 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 392 */	NdrFcShort( 0x0 ),	/* Offset= 0 (392) */

+/* 394 */	NdrFcShort( 0xffff ),	/* Offset= -1 (393) */

+/* 396 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 400 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 402 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 404 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 412 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 414 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 416 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 418 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 420 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 422 */	NdrFcShort( 0x2 ),	/* Offset= 2 (424) */

+/* 424 */	

+			0x13, 0x0,	/* FC_OP */

+/* 426 */	NdrFcShort( 0x216 ),	/* Offset= 534 (960) */

+/* 428 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x49,		/* 73 */

+/* 430 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 432 */	NdrFcShort( 0xa ),	/* 10 */

+/* 434 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 438 */	NdrFcShort( 0x5a ),	/* Offset= 90 (528) */

+/* 440 */	NdrFcLong( 0xd ),	/* 13 */

+/* 444 */	NdrFcShort( 0x7e ),	/* Offset= 126 (570) */

+/* 446 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 450 */	NdrFcShort( 0x9e ),	/* Offset= 158 (608) */

+/* 452 */	NdrFcLong( 0xc ),	/* 12 */

+/* 456 */	NdrFcShort( 0xc8 ),	/* Offset= 200 (656) */

+/* 458 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 462 */	NdrFcShort( 0x124 ),	/* Offset= 292 (754) */

+/* 464 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 468 */	NdrFcShort( 0x140 ),	/* Offset= 320 (788) */

+/* 470 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 474 */	NdrFcShort( 0x15a ),	/* Offset= 346 (820) */

+/* 476 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 480 */	NdrFcShort( 0x174 ),	/* Offset= 372 (852) */

+/* 482 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 486 */	NdrFcShort( 0x18e ),	/* Offset= 398 (884) */

+/* 488 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 492 */	NdrFcShort( 0x1a8 ),	/* Offset= 424 (916) */

+/* 494 */	NdrFcShort( 0xffff ),	/* Offset= -1 (493) */

+/* 496 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 498 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 500 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 502 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 504 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 506 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 508 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 510 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 512 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 514 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 516 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 518 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 520 */	0x13, 0x0,	/* FC_OP */

+/* 522 */	NdrFcShort( 0xfe0c ),	/* Offset= -500 (22) */

+/* 524 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 526 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 528 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 530 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 532 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 534 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 536 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 538 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 540 */	0x11, 0x0,	/* FC_RP */

+/* 542 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (496) */

+/* 544 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 546 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 548 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 552 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 554 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 556 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 558 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 562 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 564 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 566 */	NdrFcShort( 0xff5c ),	/* Offset= -164 (402) */

+/* 568 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 570 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 572 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 574 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 576 */	NdrFcShort( 0x6 ),	/* Offset= 6 (582) */

+/* 578 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 580 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 582 */	

+			0x11, 0x0,	/* FC_RP */

+/* 584 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (548) */

+/* 586 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 590 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 594 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 596 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 600 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 602 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 604 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (50) */

+/* 606 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 608 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 610 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 612 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 614 */	NdrFcShort( 0x6 ),	/* Offset= 6 (620) */

+/* 616 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 618 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 620 */	

+			0x11, 0x0,	/* FC_RP */

+/* 622 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (586) */

+/* 624 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 626 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 628 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 630 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 632 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 634 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 636 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 638 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 640 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 642 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 644 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 646 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 648 */	0x13, 0x0,	/* FC_OP */

+/* 650 */	NdrFcShort( 0x192 ),	/* Offset= 402 (1052) */

+/* 652 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 654 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 656 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 658 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 660 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 662 */	NdrFcShort( 0x6 ),	/* Offset= 6 (668) */

+/* 664 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 666 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 668 */	

+			0x11, 0x0,	/* FC_RP */

+/* 670 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (624) */

+/* 672 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 674 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 678 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 680 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 682 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 684 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 686 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 688 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 690 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 692 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 694 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 696 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 698 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 700 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 702 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 704 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 706 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 708 */	NdrFcShort( 0xa ),	/* Offset= 10 (718) */

+/* 710 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 712 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 714 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (672) */

+/* 716 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 718 */	

+			0x13, 0x0,	/* FC_OP */

+/* 720 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (690) */

+/* 722 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 724 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 726 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 728 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 730 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 732 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 734 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 736 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 738 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 740 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 746 */	0x13, 0x0,	/* FC_OP */

+/* 748 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (702) */

+/* 750 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 752 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 754 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 756 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0x6 ),	/* Offset= 6 (766) */

+/* 762 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 764 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 766 */	

+			0x11, 0x0,	/* FC_RP */

+/* 768 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (722) */

+/* 770 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 772 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 774 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 776 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 778 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 780 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 782 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 784 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (770) */

+			0x5b,		/* FC_END */

+/* 788 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 790 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 792 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 794 */	NdrFcShort( 0xa ),	/* Offset= 10 (804) */

+/* 796 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 798 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 800 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (776) */

+/* 802 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 804 */	

+			0x11, 0x0,	/* FC_RP */

+/* 806 */	NdrFcShort( 0xfefe ),	/* Offset= -258 (548) */

+/* 808 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 810 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 812 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 814 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 816 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 818 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 820 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 822 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 824 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 826 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 828 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 830 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 832 */	0x13, 0x0,	/* FC_OP */

+/* 834 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (808) */

+/* 836 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 838 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 840 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 842 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 844 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 850 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 852 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 854 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 856 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 858 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 860 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 862 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 864 */	0x13, 0x0,	/* FC_OP */

+/* 866 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (840) */

+/* 868 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 870 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 872 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 874 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 876 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 878 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 880 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 882 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 884 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 886 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 888 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 890 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 892 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 894 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 896 */	0x13, 0x0,	/* FC_OP */

+/* 898 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (872) */

+/* 900 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 902 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 904 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 906 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 908 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 910 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 912 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 914 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 916 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 918 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 920 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 922 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 924 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 926 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 928 */	0x13, 0x0,	/* FC_OP */

+/* 930 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (904) */

+/* 932 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 934 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 936 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 938 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 940 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 942 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 944 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 946 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 948 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 950 */	NdrFcShort( 0xffd8 ),	/* -40 */

+/* 952 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 954 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 956 */	NdrFcShort( 0xffec ),	/* Offset= -20 (936) */

+/* 958 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 960 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 962 */	NdrFcShort( 0x28 ),	/* 40 */

+/* 964 */	NdrFcShort( 0xffec ),	/* Offset= -20 (944) */

+/* 966 */	NdrFcShort( 0x0 ),	/* Offset= 0 (966) */

+/* 968 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 970 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 972 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 974 */	NdrFcShort( 0xfdde ),	/* Offset= -546 (428) */

+/* 976 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 978 */	

+			0x13, 0x0,	/* FC_OP */

+/* 980 */	NdrFcShort( 0xfeea ),	/* Offset= -278 (702) */

+/* 982 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 984 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 986 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 988 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 990 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 992 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 994 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 996 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 998 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1000 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1004 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1006 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1008 */	NdrFcShort( 0xfd9c ),	/* Offset= -612 (396) */

+/* 1010 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1012 */	NdrFcShort( 0xfc12 ),	/* Offset= -1006 (6) */

+/* 1014 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1016 */	NdrFcShort( 0xfd9a ),	/* Offset= -614 (402) */

+/* 1018 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1020 */	NdrFcShort( 0xfc36 ),	/* Offset= -970 (50) */

+/* 1022 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1024 */	NdrFcShort( 0xfda4 ),	/* Offset= -604 (420) */

+/* 1026 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1028 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1030) */

+/* 1030 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1032 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1052) */

+/* 1034 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 1036 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1038 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 1040 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 1042 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 1044 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1046 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1034) */

+/* 1048 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1050 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1052 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1054 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1056 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1058 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1058) */

+/* 1060 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1062 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1064 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1066 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1068 */	NdrFcShort( 0xfc36 ),	/* Offset= -970 (98) */

+/* 1070 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1072 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1074 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1076 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1078 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1080 */	NdrFcShort( 0xfc26 ),	/* Offset= -986 (94) */

+/* 1082 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1084 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (1052) */

+/* 1086 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1088 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1090 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1092 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1094 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1082) */

+/* 1096 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1098 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1100 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1102 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1104) */

+/* 1104 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1106 */	NdrFcLong( 0x2a7d2ae7 ),	/* 712846055 */

+/* 1110 */	NdrFcShort( 0x8eee ),	/* -28946 */

+/* 1112 */	NdrFcShort( 0x45b4 ),	/* 17844 */

+/* 1114 */	0xb1,		/* 177 */

+			0x7f,		/* 127 */

+/* 1116 */	0x31,		/* 49 */

+			0xda,		/* 218 */

+/* 1118 */	0xac,		/* 172 */

+			0x82,		/* 130 */

+/* 1120 */	0xcc,		/* 204 */

+			0xbb,		/* 187 */

+/* 1122 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1124 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 1126 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1128 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1130) */

+/* 1130 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1132 */	NdrFcLong( 0xcc2ccd05 ),	/* -869479163 */

+/* 1136 */	NdrFcShort( 0x119c ),	/* 4508 */

+/* 1138 */	NdrFcShort( 0x44e1 ),	/* 17633 */

+/* 1140 */	0x85,		/* 133 */

+			0x2d,		/* 45 */

+/* 1142 */	0x6d,		/* 109 */

+			0xcc,		/* 204 */

+/* 1144 */	0x2d,		/* 45 */

+			0xfb,		/* 251 */

+/* 1146 */	0x72,		/* 114 */

+			0xec,		/* 236 */

+/* 1148 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1150 */	

+			0x25,		/* FC_C_WSTRING */

+			0x5c,		/* FC_PAD */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Standard interface: __MIDL_itf_updater_legacy_idl_system_0000_0000, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IAppVersionWeb, ver. 0.0,

+   GUID={0xAA10D17D,0x7A09,0x48AC,{0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    36,

+    72

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebProxyVtbl = 

+{

+    &IAppVersionWeb_ProxyInfo,

+    &IID_IAppVersionWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebStubVtbl =

+{

+    &IID_IAppVersionWeb,

+    &IAppVersionWeb_ServerInfo,

+    10,

+    &IAppVersionWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppVersionWebSystem, ver. 0.0,

+   GUID={0x9367601E,0xC100,0x4702,{0x87,0x55,0x80,0x8D,0x6B,0xB3,0x85,0xD8}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    36,

+    72

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppVersionWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebSystemProxyVtbl = 

+{

+    &IAppVersionWebSystem_ProxyInfo,

+    &IID_IAppVersionWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebSystem::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebSystem::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebSystem::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebSystemStubVtbl =

+{

+    &IID_IAppVersionWebSystem,

+    &IAppVersionWebSystem_ServerInfo,

+    10,

+    &IAppVersionWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentState, ver. 0.0,

+   GUID={0xA643508B,0xB1E3,0x4457,{0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    150,

+    186,

+    222,

+    258,

+    294,

+    330,

+    366,

+    402,

+    438,

+    474,

+    510,

+    546,

+    582,

+    618,

+    654,

+    690

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateProxyVtbl = 

+{

+    &ICurrentState_ProxyInfo,

+    &IID_ICurrentState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateStubVtbl =

+{

+    &IID_ICurrentState,

+    &ICurrentState_ServerInfo,

+    24,

+    &ICurrentState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentStateSystem, ver. 0.0,

+   GUID={0x71CBC6BB,0xCA4B,0x4B5A,{0x83,0xC0,0xFC,0x95,0xF9,0xCA,0x6A,0x30}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentStateSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    150,

+    186,

+    222,

+    258,

+    294,

+    330,

+    366,

+    402,

+    438,

+    474,

+    510,

+    546,

+    582,

+    618,

+    654,

+    690

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentStateSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentStateSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &ICurrentStateSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateSystemProxyVtbl = 

+{

+    &ICurrentStateSystem_ProxyInfo,

+    &IID_ICurrentStateSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateSystem::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentStateSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateSystemStubVtbl =

+{

+    &IID_ICurrentStateSystem,

+    &ICurrentStateSystem_ServerInfo,

+    24,

+    &ICurrentStateSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3Web, ver. 0.0,

+   GUID={0xA35E1C5E,0x0A18,0x4FF1,{0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3Web_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    726

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebProxyVtbl = 

+{

+    &IGoogleUpdate3Web_ProxyInfo,

+    &IID_IGoogleUpdate3Web,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3Web::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3Web_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebStubVtbl =

+{

+    &IID_IGoogleUpdate3Web,

+    &IGoogleUpdate3Web_ServerInfo,

+    8,

+    &IGoogleUpdate3Web_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3WebSystem, ver. 0.0,

+   GUID={0xAE5F8C9D,0xB94D,0x4367,{0xA4,0x22,0xD1,0xDC,0x4E,0x91,0x3A,0x52}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3WebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    726

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3WebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebSystemProxyVtbl = 

+{

+    &IGoogleUpdate3WebSystem_ProxyInfo,

+    &IID_IGoogleUpdate3WebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3WebSystem::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3WebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebSystemStubVtbl =

+{

+    &IID_IGoogleUpdate3WebSystem,

+    &IGoogleUpdate3WebSystem_ServerInfo,

+    8,

+    &IGoogleUpdate3WebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWeb, ver. 0.0,

+   GUID={0x0569DBB9,0xBAA0,0x48D5,{0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    762,

+    816,

+    852,

+    882,

+    918,

+    954,

+    330,

+    990,

+    1032,

+    1062,

+    1092,

+    1122,

+    1152,

+    1182,

+    1212,

+    1242,

+    1284

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebProxyVtbl = 

+{

+    &IAppBundleWeb_ProxyInfo,

+    &IID_IAppBundleWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebStubVtbl =

+{

+    &IID_IAppBundleWeb,

+    &IAppBundleWeb_ServerInfo,

+    24,

+    &IAppBundleWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWebSystem, ver. 0.0,

+   GUID={0xBFFD766D,0xA2DD,0x436E,{0x89,0xFA,0xBF,0x05,0xBC,0x5B,0x59,0x58}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    762,

+    816,

+    852,

+    882,

+    918,

+    954,

+    330,

+    990,

+    1032,

+    1062,

+    1092,

+    1122,

+    1152,

+    1182,

+    1212,

+    1242,

+    1284

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppBundleWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebSystemProxyVtbl = 

+{

+    &IAppBundleWebSystem_ProxyInfo,

+    &IID_IAppBundleWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebSystem::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebSystemStubVtbl =

+{

+    &IID_IAppBundleWebSystem,

+    &IAppBundleWebSystem_ServerInfo,

+    24,

+    &IAppBundleWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWeb, ver. 0.0,

+   GUID={0x63D941DE,0xF67B,0x4E15,{0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1320,

+    1356,

+    1392,

+    1434,

+    1464,

+    1500,

+    1530,

+    1560,

+    1596

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebProxyVtbl = 

+{

+    &IAppWeb_ProxyInfo,

+    &IID_IAppWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebStubVtbl =

+{

+    &IID_IAppWeb,

+    &IAppWeb_ServerInfo,

+    17,

+    &IAppWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWebSystem, ver. 0.0,

+   GUID={0x540B227A,0xF442,0x45D5,{0xBA,0x52,0x29,0x8A,0x05,0xBA,0xF1,0xA8}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1320,

+    1356,

+    1392,

+    1434,

+    1464,

+    1500,

+    1530,

+    1560,

+    1596

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebSystemProxyVtbl = 

+{

+    &IAppWebSystem_ProxyInfo,

+    &IID_IAppWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWebSystem::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebSystemStubVtbl =

+{

+    &IID_IAppWebSystem,

+    &IAppWebSystem_ServerInfo,

+    17,

+    &IAppWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWeb, ver. 0.0,

+   GUID={0x10A2D03F,0x8BC7,0x49DB,{0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    36,

+    1632,

+    1668

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebProxyVtbl = 

+{

+    &IAppCommandWeb_ProxyInfo,

+    &IID_IAppCommandWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebStubVtbl =

+{

+    &IID_IAppCommandWeb,

+    &IAppCommandWeb_ServerInfo,

+    11,

+    &IAppCommandWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWebSystem, ver. 0.0,

+   GUID={0xC6E2C5D5,0x86FA,0x4A64,{0x9D,0x08,0x8C,0x9B,0x64,0x4F,0x0E,0x49}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWebSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    36,

+    1632,

+    1668

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWebSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWebSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IAppCommandWebSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebSystemProxyVtbl = 

+{

+    &IAppCommandWebSystem_ProxyInfo,

+    &IID_IAppCommandWebSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebSystem::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWebSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebSystemStubVtbl =

+{

+    &IID_IAppCommandWebSystem,

+    &IAppCommandWebSystem_ServerInfo,

+    11,

+    &IAppCommandWebSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus, ver. 0.0,

+   GUID={0x6A54FE75,0xEDC8,0x404E,{0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    1752,

+    1632,

+    222,

+    258,

+    1806,

+    1848,

+    1890,

+    1932

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusProxyVtbl = 

+{

+    &IPolicyStatus_ProxyInfo,

+    &IID_IPolicyStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusStubVtbl =

+{

+    &IID_IPolicyStatus,

+    &IPolicyStatus_ServerInfo,

+    16,

+    &IPolicyStatus_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusSystem, ver. 0.0,

+   GUID={0xF3964464,0xA939,0x44D3,{0x92,0x44,0x36,0xBD,0x2E,0x36,0x30,0xB8}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    1752,

+    1632,

+    222,

+    258,

+    1806,

+    1848,

+    1890,

+    1932

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusSystemProxyVtbl = 

+{

+    &IPolicyStatusSystem_ProxyInfo,

+    &IID_IPolicyStatusSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusSystem::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusSystemStubVtbl =

+{

+    &IID_IPolicyStatusSystem,

+    &IPolicyStatusSystem_ServerInfo,

+    16,

+    &IPolicyStatusSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValue, ver. 0.0,

+   GUID={0x2A7D2AE7,0x8EEE,0x45B4,{0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValue_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    150,

+    1974,

+    882,

+    2010

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueProxyVtbl = 

+{

+    &IPolicyStatusValue_ProxyInfo,

+    &IID_IPolicyStatusValue,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValue_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueStubVtbl =

+{

+    &IID_IPolicyStatusValue,

+    &IPolicyStatusValue_ServerInfo,

+    12,

+    &IPolicyStatusValue_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValueSystem, ver. 0.0,

+   GUID={0xCC2CCD05,0x119C,0x44E1,{0x85,0x2D,0x6D,0xCC,0x2D,0xFB,0x72,0xEC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValueSystem_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    150,

+    1974,

+    882,

+    2010

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueSystem_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValueSystem_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueSystem_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueSystemProxyVtbl = 

+{

+    &IPolicyStatusValueSystem_ProxyInfo,

+    &IID_IPolicyStatusValueSystem,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueSystem::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValueSystem_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueSystemStubVtbl =

+{

+    &IID_IPolicyStatusValueSystem,

+    &IPolicyStatusValueSystem_ServerInfo,

+    12,

+    &IPolicyStatusValueSystem_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2, ver. 0.0,

+   GUID={0x06A6AA1E,0x2680,0x4076,{0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2046,

+    852,

+    2082,

+    2118,

+    2160,

+    2196,

+    2232,

+    2268,

+    2304,

+    2340,

+    2376,

+    2418,

+    2460,

+    2502,

+    2544

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2ProxyVtbl = 

+{

+    &IPolicyStatus2_ProxyInfo,

+    &IID_IPolicyStatus2,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2StubVtbl =

+{

+    &IID_IPolicyStatus2,

+    &IPolicyStatus2_ServerInfo,

+    23,

+    &IPolicyStatus2_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2System, ver. 0.0,

+   GUID={0xF4A0362A,0x3702,0x48B8,{0x98,0x96,0x7D,0x80,0x13,0xD0,0x3A,0xB2}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2System_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2046,

+    852,

+    2586,

+    2622,

+    2664,

+    2700,

+    2736,

+    2772,

+    2808,

+    2844,

+    2880,

+    2922,

+    2964,

+    3006,

+    3048

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2System_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2System_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2SystemProxyVtbl = 

+{

+    &IPolicyStatus2System_ProxyInfo,

+    &IID_IPolicyStatus2System,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2System_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2SystemStubVtbl =

+{

+    &IID_IPolicyStatus2System,

+    &IPolicyStatus2System_ServerInfo,

+    23,

+    &IPolicyStatus2System_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3, ver. 0.0,

+   GUID={0x029BD175,0x5035,0x4E2A,{0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2046,

+    852,

+    2082,

+    2118,

+    2160,

+    2196,

+    2232,

+    2268,

+    2304,

+    2340,

+    2376,

+    2418,

+    2460,

+    2502,

+    2544,

+    3090

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3ProxyVtbl = 

+{

+    &IPolicyStatus3_ProxyInfo,

+    &IID_IPolicyStatus3,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3StubVtbl =

+{

+    &IID_IPolicyStatus3,

+    &IPolicyStatus3_ServerInfo,

+    24,

+    &IPolicyStatus3_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3System, ver. 0.0,

+   GUID={0x7B26CC23,0xB2B8,0x441B,{0xAA,0x9C,0x8B,0x55,0x1A,0xBB,0x61,0x1B}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3System_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2046,

+    852,

+    2586,

+    2622,

+    2664,

+    2700,

+    2736,

+    2772,

+    2808,

+    2844,

+    2880,

+    2922,

+    2964,

+    3006,

+    3048,

+    3132

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3System_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3System_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3System_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3SystemProxyVtbl = 

+{

+    &IPolicyStatus3System_ProxyInfo,

+    &IID_IPolicyStatus3System,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2System::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3System::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3System_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3SystemStubVtbl =

+{

+    &IID_IPolicyStatus3System,

+    &IPolicyStatus3System_ServerInfo,

+    24,

+    &IPolicyStatus3System_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IProcessLauncher, ver. 0.0,

+   GUID={0x4779D540,0xF6A3,0x455F,{0xA9,0x29,0x7A,0xDF,0xE8,0x5B,0x6F,0x09}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IProcessLauncher_FormatStringOffsetTable[] =

+    {

+    3174,

+    3210,

+    3252

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IProcessLauncher_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IProcessLauncher_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(6) _IProcessLauncherProxyVtbl = 

+{

+    &IProcessLauncher_ProxyInfo,

+    &IID_IProcessLauncher,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdLine */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchBrowser */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdElevated */

+};

+

+const CInterfaceStubVtbl _IProcessLauncherStubVtbl =

+{

+    &IID_IProcessLauncher,

+    &IProcessLauncher_ServerInfo,

+    6,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+

+/* Object interface: IProcessLauncher2, ver. 0.0,

+   GUID={0x74F243B8,0x75D1,0x4E2D,{0xBC,0x89,0x56,0x89,0x79,0x8E,0xEF,0x3E}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IProcessLauncher2_FormatStringOffsetTable[] =

+    {

+    3174,

+    3210,

+    3252,

+    3306

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IProcessLauncher2_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IProcessLauncher2_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_system__MIDL_ProcFormatString.Format,

+    &IProcessLauncher2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(7) _IProcessLauncher2ProxyVtbl = 

+{

+    &IProcessLauncher2_ProxyInfo,

+    &IID_IProcessLauncher2,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdLine */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchBrowser */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher::LaunchCmdElevated */ ,

+    (void *) (INT_PTR) -1 /* IProcessLauncher2::LaunchCmdLineEx */

+};

+

+const CInterfaceStubVtbl _IProcessLauncher2StubVtbl =

+{

+    &IID_IProcessLauncher2,

+    &IProcessLauncher2_ServerInfo,

+    7,

+    0, /* pure interpreted */

+    CStdStubBuffer_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_legacy_idl_system__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_legacy_idl_system_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3SystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2SystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IProcessLauncherProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IProcessLauncher2ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebSystemProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_legacy_idl_system_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2StubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3SystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2SystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IProcessLauncherStubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3StubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IProcessLauncher2StubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebSystemStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_legacy_idl_system_InterfaceNamesList[] = 

+{

+    "IPolicyStatusValueSystem",

+    "IAppVersionWebSystem",

+    "IPolicyStatus2",

+    "IPolicyStatus3System",

+    "IPolicyStatus2System",

+    "IAppCommandWeb",

+    "IProcessLauncher",

+    "IGoogleUpdate3Web",

+    "IPolicyStatusSystem",

+    "IAppBundleWebSystem",

+    "IPolicyStatus3",

+    "IPolicyStatus",

+    "IAppWebSystem",

+    "IAppVersionWeb",

+    "ICurrentState",

+    "IGoogleUpdate3WebSystem",

+    "IProcessLauncher2",

+    "IAppBundleWeb",

+    "ICurrentStateSystem",

+    "IAppCommandWebSystem",

+    "IAppWeb",

+    "IPolicyStatusValue",

+    0

+};

+

+const IID *  const _updater_legacy_idl_system_BaseIIDList[] = 

+{

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0

+};

+

+

+#define _updater_legacy_idl_system_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_legacy_idl_system, pIID, n)

+

+int __stdcall _updater_legacy_idl_system_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_legacy_idl_system, 22, 16 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_system, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_legacy_idl_system, 22, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_legacy_idl_system_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_legacy_idl_system_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_legacy_idl_system_StubVtblList,

+    (const PCInterfaceName * ) & _updater_legacy_idl_system_InterfaceNamesList,

+    (const IID ** ) & _updater_legacy_idl_system_BaseIIDList,

+    & _updater_legacy_idl_system_IID_Lookup, 

+    22,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) */

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user.dlldata.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user.dlldata.c
new file mode 100644
index 0000000..32bacec
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user.dlldata.c
@@ -0,0 +1,38 @@
+/*********************************************************

+   DllData file -- generated by MIDL compiler 

+

+        DO NOT ALTER THIS FILE

+

+   This file is regenerated by MIDL on every IDL file compile.

+

+   To completely reconstruct this file, delete it and rerun MIDL

+   on all the IDL files in this DLL, specifying this file for the

+   /dlldata command line option

+

+*********************************************************/

+

+#define PROXY_DELEGATION

+

+#include <rpcproxy.h>

+

+#ifdef __cplusplus

+extern "C"   {

+#endif

+

+EXTERN_PROXY_FILE( updater_legacy_idl_user )

+

+

+PROXYFILE_LIST_START

+/* Start of list */

+  REFERENCE_PROXY_FILE( updater_legacy_idl_user ),

+/* End of list */

+PROXYFILE_LIST_END

+

+

+DLLDATA_ROUTINES( aProxyFileList, GET_DLL_CLSID )

+

+#ifdef __cplusplus

+}  /*extern "C" */

+#endif

+

+/* end of generated dlldata file */

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user.h b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user.h
new file mode 100644
index 0000000..b33785e
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user.h
@@ -0,0 +1,5256 @@
+

+

+/* this ALWAYS GENERATED file contains the definitions for the interfaces */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_user.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+/* verify that the <rpcndr.h> version is high enough to compile this file*/

+#ifndef __REQUIRED_RPCNDR_H_VERSION__

+#define __REQUIRED_RPCNDR_H_VERSION__ 475

+#endif

+

+#include "rpc.h"

+#include "rpcndr.h"

+

+#ifndef __RPCNDR_H_VERSION__

+#error this stub requires an updated version of <rpcndr.h>

+#endif /* __RPCNDR_H_VERSION__ */

+

+#ifndef COM_NO_WINDOWS_H

+#include "windows.h"

+#include "ole2.h"

+#endif /*COM_NO_WINDOWS_H*/

+

+#ifndef __updater_legacy_idl_user_h__

+#define __updater_legacy_idl_user_h__

+

+#if defined(_MSC_VER) && (_MSC_VER >= 1020)

+#pragma once

+#endif

+

+#ifndef DECLSPEC_XFGVIRT

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define DECLSPEC_XFGVIRT(base, func) __declspec(xfg_virtual(base, func))

+#else

+#define DECLSPEC_XFGVIRT(base, func)

+#endif

+#endif

+

+/* Forward Declarations */ 

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebUser_FWD_DEFINED__

+#define __IAppVersionWebUser_FWD_DEFINED__

+typedef interface IAppVersionWebUser IAppVersionWebUser;

+

+#endif 	/* __IAppVersionWebUser_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateUser_FWD_DEFINED__

+#define __ICurrentStateUser_FWD_DEFINED__

+typedef interface ICurrentStateUser ICurrentStateUser;

+

+#endif 	/* __ICurrentStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebUser_FWD_DEFINED__

+#define __IGoogleUpdate3WebUser_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebUser IGoogleUpdate3WebUser;

+

+#endif 	/* __IGoogleUpdate3WebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebUser_FWD_DEFINED__

+#define __IAppBundleWebUser_FWD_DEFINED__

+typedef interface IAppBundleWebUser IAppBundleWebUser;

+

+#endif 	/* __IAppBundleWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebUser_FWD_DEFINED__

+#define __IAppWebUser_FWD_DEFINED__

+typedef interface IAppWebUser IAppWebUser;

+

+#endif 	/* __IAppWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebUser_FWD_DEFINED__

+#define __IAppCommandWebUser_FWD_DEFINED__

+typedef interface IAppCommandWebUser IAppCommandWebUser;

+

+#endif 	/* __IAppCommandWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusUser_FWD_DEFINED__

+#define __IPolicyStatusUser_FWD_DEFINED__

+typedef interface IPolicyStatusUser IPolicyStatusUser;

+

+#endif 	/* __IPolicyStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueUser_FWD_DEFINED__

+#define __IPolicyStatusValueUser_FWD_DEFINED__

+typedef interface IPolicyStatusValueUser IPolicyStatusValueUser;

+

+#endif 	/* __IPolicyStatusValueUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2User_FWD_DEFINED__

+#define __IPolicyStatus2User_FWD_DEFINED__

+typedef interface IPolicyStatus2User IPolicyStatus2User;

+

+#endif 	/* __IPolicyStatus2User_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3User_FWD_DEFINED__

+#define __IPolicyStatus3User_FWD_DEFINED__

+typedef interface IPolicyStatus3User IPolicyStatus3User;

+

+#endif 	/* __IPolicyStatus3User_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebUserClass_FWD_DEFINED__

+#define __GoogleUpdate3WebUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#else

+typedef struct GoogleUpdate3WebUserClass GoogleUpdate3WebUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebUserClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+#define __GoogleUpdate3WebSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#else

+typedef struct GoogleUpdate3WebSystemClass GoogleUpdate3WebSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+#define __GoogleUpdate3WebServiceClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#else

+typedef struct GoogleUpdate3WebServiceClass GoogleUpdate3WebServiceClass;

+#endif /* __cplusplus */

+

+#endif 	/* __GoogleUpdate3WebServiceClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusUserClass_FWD_DEFINED__

+#define __PolicyStatusUserClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusUserClass PolicyStatusUserClass;

+#else

+typedef struct PolicyStatusUserClass PolicyStatusUserClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusUserClass_FWD_DEFINED__ */

+

+

+#ifndef __PolicyStatusSystemClass_FWD_DEFINED__

+#define __PolicyStatusSystemClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class PolicyStatusSystemClass PolicyStatusSystemClass;

+#else

+typedef struct PolicyStatusSystemClass PolicyStatusSystemClass;

+#endif /* __cplusplus */

+

+#endif 	/* __PolicyStatusSystemClass_FWD_DEFINED__ */

+

+

+#ifndef __ProcessLauncherClass_FWD_DEFINED__

+#define __ProcessLauncherClass_FWD_DEFINED__

+

+#ifdef __cplusplus

+typedef class ProcessLauncherClass ProcessLauncherClass;

+#else

+typedef struct ProcessLauncherClass ProcessLauncherClass;

+#endif /* __cplusplus */

+

+#endif 	/* __ProcessLauncherClass_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWeb_FWD_DEFINED__

+#define __IAppVersionWeb_FWD_DEFINED__

+typedef interface IAppVersionWeb IAppVersionWeb;

+

+#endif 	/* __IAppVersionWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppVersionWebUser_FWD_DEFINED__

+#define __IAppVersionWebUser_FWD_DEFINED__

+typedef interface IAppVersionWebUser IAppVersionWebUser;

+

+#endif 	/* __IAppVersionWebUser_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentState_FWD_DEFINED__

+#define __ICurrentState_FWD_DEFINED__

+typedef interface ICurrentState ICurrentState;

+

+#endif 	/* __ICurrentState_FWD_DEFINED__ */

+

+

+#ifndef __ICurrentStateUser_FWD_DEFINED__

+#define __ICurrentStateUser_FWD_DEFINED__

+typedef interface ICurrentStateUser ICurrentStateUser;

+

+#endif 	/* __ICurrentStateUser_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_FWD_DEFINED__

+#define __IGoogleUpdate3Web_FWD_DEFINED__

+typedef interface IGoogleUpdate3Web IGoogleUpdate3Web;

+

+#endif 	/* __IGoogleUpdate3Web_FWD_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebUser_FWD_DEFINED__

+#define __IGoogleUpdate3WebUser_FWD_DEFINED__

+typedef interface IGoogleUpdate3WebUser IGoogleUpdate3WebUser;

+

+#endif 	/* __IGoogleUpdate3WebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_FWD_DEFINED__

+#define __IAppBundleWeb_FWD_DEFINED__

+typedef interface IAppBundleWeb IAppBundleWeb;

+

+#endif 	/* __IAppBundleWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppBundleWebUser_FWD_DEFINED__

+#define __IAppBundleWebUser_FWD_DEFINED__

+typedef interface IAppBundleWebUser IAppBundleWebUser;

+

+#endif 	/* __IAppBundleWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppWeb_FWD_DEFINED__

+#define __IAppWeb_FWD_DEFINED__

+typedef interface IAppWeb IAppWeb;

+

+#endif 	/* __IAppWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppWebUser_FWD_DEFINED__

+#define __IAppWebUser_FWD_DEFINED__

+typedef interface IAppWebUser IAppWebUser;

+

+#endif 	/* __IAppWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_FWD_DEFINED__

+#define __IAppCommandWeb_FWD_DEFINED__

+typedef interface IAppCommandWeb IAppCommandWeb;

+

+#endif 	/* __IAppCommandWeb_FWD_DEFINED__ */

+

+

+#ifndef __IAppCommandWebUser_FWD_DEFINED__

+#define __IAppCommandWebUser_FWD_DEFINED__

+typedef interface IAppCommandWebUser IAppCommandWebUser;

+

+#endif 	/* __IAppCommandWebUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_FWD_DEFINED__

+#define __IPolicyStatus_FWD_DEFINED__

+typedef interface IPolicyStatus IPolicyStatus;

+

+#endif 	/* __IPolicyStatus_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusUser_FWD_DEFINED__

+#define __IPolicyStatusUser_FWD_DEFINED__

+typedef interface IPolicyStatusUser IPolicyStatusUser;

+

+#endif 	/* __IPolicyStatusUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_FWD_DEFINED__

+#define __IPolicyStatusValue_FWD_DEFINED__

+typedef interface IPolicyStatusValue IPolicyStatusValue;

+

+#endif 	/* __IPolicyStatusValue_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueUser_FWD_DEFINED__

+#define __IPolicyStatusValueUser_FWD_DEFINED__

+typedef interface IPolicyStatusValueUser IPolicyStatusValueUser;

+

+#endif 	/* __IPolicyStatusValueUser_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_FWD_DEFINED__

+#define __IPolicyStatus2_FWD_DEFINED__

+typedef interface IPolicyStatus2 IPolicyStatus2;

+

+#endif 	/* __IPolicyStatus2_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2User_FWD_DEFINED__

+#define __IPolicyStatus2User_FWD_DEFINED__

+typedef interface IPolicyStatus2User IPolicyStatus2User;

+

+#endif 	/* __IPolicyStatus2User_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_FWD_DEFINED__

+#define __IPolicyStatus3_FWD_DEFINED__

+typedef interface IPolicyStatus3 IPolicyStatus3;

+

+#endif 	/* __IPolicyStatus3_FWD_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3User_FWD_DEFINED__

+#define __IPolicyStatus3User_FWD_DEFINED__

+typedef interface IPolicyStatus3User IPolicyStatus3User;

+

+#endif 	/* __IPolicyStatus3User_FWD_DEFINED__ */

+

+

+/* header files for imported files */

+#include "oaidl.h"

+#include "ocidl.h"

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+/* interface __MIDL_itf_updater_legacy_idl_user_0000_0000 */

+/* [local] */ 

+

+typedef 

+enum CurrentState

+    {

+        STATE_INIT	= 1,

+        STATE_WAITING_TO_CHECK_FOR_UPDATE	= 2,

+        STATE_CHECKING_FOR_UPDATE	= 3,

+        STATE_UPDATE_AVAILABLE	= 4,

+        STATE_WAITING_TO_DOWNLOAD	= 5,

+        STATE_RETRYING_DOWNLOAD	= 6,

+        STATE_DOWNLOADING	= 7,

+        STATE_DOWNLOAD_COMPLETE	= 8,

+        STATE_EXTRACTING	= 9,

+        STATE_APPLYING_DIFFERENTIAL_PATCH	= 10,

+        STATE_READY_TO_INSTALL	= 11,

+        STATE_WAITING_TO_INSTALL	= 12,

+        STATE_INSTALLING	= 13,

+        STATE_INSTALL_COMPLETE	= 14,

+        STATE_PAUSED	= 15,

+        STATE_NO_UPDATE	= 16,

+        STATE_ERROR	= 17

+    } 	CurrentState;

+

+

+enum AppCommandStatus

+    {

+        COMMAND_STATUS_INIT	= 1,

+        COMMAND_STATUS_RUNNING	= 2,

+        COMMAND_STATUS_ERROR	= 3,

+        COMMAND_STATUS_COMPLETE	= 4

+    } ;

+

+

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_user_0000_0000_v0_0_c_ifspec;

+extern RPC_IF_HANDLE __MIDL_itf_updater_legacy_idl_user_0000_0000_v0_0_s_ifspec;

+

+#ifndef __IAppVersionWeb_INTERFACE_DEFINED__

+#define __IAppVersionWeb_INTERFACE_DEFINED__

+

+/* interface IAppVersionWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AA10D17D-7A09-48AC-B1E4-F124937E3D26")

+    IAppVersionWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWeb * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWeb, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWeb * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebVtbl;

+

+    interface IAppVersionWeb

+    {

+        CONST_VTBL struct IAppVersionWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWeb_get_version(This,__MIDL__IAppVersionWeb0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWeb0000) ) 

+

+#define IAppVersionWeb_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWeb_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppVersionWebUser_INTERFACE_DEFINED__

+#define __IAppVersionWebUser_INTERFACE_DEFINED__

+

+/* interface IAppVersionWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppVersionWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AC817E10-993C-470F-8DCA-25F53D70EA8D")

+    IAppVersionWebUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_version( 

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCount( 

+            /* [retval][out] */ long *count) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageWeb( 

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppVersionWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppVersionWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppVersionWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppVersionWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppVersionWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppVersionWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppVersionWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppVersionWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebUser, get_version)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_version )( 

+            IAppVersionWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppVersionWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebUser, get_packageCount)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCount )( 

+            IAppVersionWebUser * This,

+            /* [retval][out] */ long *count);

+        

+        DECLSPEC_XFGVIRT(IAppVersionWebUser, get_packageWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageWeb )( 

+            IAppVersionWebUser * This,

+            /* [in] */ long index,

+            /* [retval][out] */ IDispatch **package);

+        

+        END_INTERFACE

+    } IAppVersionWebUserVtbl;

+

+    interface IAppVersionWebUser

+    {

+        CONST_VTBL struct IAppVersionWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppVersionWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppVersionWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppVersionWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppVersionWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppVersionWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppVersionWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppVersionWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppVersionWebUser_get_version(This,__MIDL__IAppVersionWebUser0000)	\

+    ( (This)->lpVtbl -> get_version(This,__MIDL__IAppVersionWebUser0000) ) 

+

+#define IAppVersionWebUser_get_packageCount(This,count)	\

+    ( (This)->lpVtbl -> get_packageCount(This,count) ) 

+

+#define IAppVersionWebUser_get_packageWeb(This,index,package)	\

+    ( (This)->lpVtbl -> get_packageWeb(This,index,package) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppVersionWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentState_INTERFACE_DEFINED__

+#define __ICurrentState_INTERFACE_DEFINED__

+

+/* interface ICurrentState */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentState;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A643508B-B1E3-4457-9769-32C953BD1D57")

+    ICurrentState : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentState * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentState * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentState * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentState * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentState * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentState0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentState * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentState0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentState * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentState * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentState0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentState, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentState * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentState0015);

+        

+        END_INTERFACE

+    } ICurrentStateVtbl;

+

+    interface ICurrentState

+    {

+        CONST_VTBL struct ICurrentStateVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentState_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentState_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentState_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentState_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentState_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentState_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentState_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentState_get_stateValue(This,__MIDL__ICurrentState0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentState0000) ) 

+

+#define ICurrentState_get_availableVersion(This,__MIDL__ICurrentState0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentState0001) ) 

+

+#define ICurrentState_get_bytesDownloaded(This,__MIDL__ICurrentState0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentState0002) ) 

+

+#define ICurrentState_get_totalBytesToDownload(This,__MIDL__ICurrentState0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentState0003) ) 

+

+#define ICurrentState_get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentState0004) ) 

+

+#define ICurrentState_get_nextRetryTime(This,__MIDL__ICurrentState0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentState0005) ) 

+

+#define ICurrentState_get_installProgress(This,__MIDL__ICurrentState0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentState0006) ) 

+

+#define ICurrentState_get_installTimeRemainingMs(This,__MIDL__ICurrentState0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentState0007) ) 

+

+#define ICurrentState_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentState_get_errorCode(This,__MIDL__ICurrentState0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentState0008) ) 

+

+#define ICurrentState_get_extraCode1(This,__MIDL__ICurrentState0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentState0009) ) 

+

+#define ICurrentState_get_completionMessage(This,__MIDL__ICurrentState0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentState0010) ) 

+

+#define ICurrentState_get_installerResultCode(This,__MIDL__ICurrentState0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentState0011) ) 

+

+#define ICurrentState_get_installerResultExtraCode1(This,__MIDL__ICurrentState0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentState0012) ) 

+

+#define ICurrentState_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentState0013) ) 

+

+#define ICurrentState_get_postInstallUrl(This,__MIDL__ICurrentState0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentState0014) ) 

+

+#define ICurrentState_get_postInstallAction(This,__MIDL__ICurrentState0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentState0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentState_INTERFACE_DEFINED__ */

+

+

+#ifndef __ICurrentStateUser_INTERFACE_DEFINED__

+#define __ICurrentStateUser_INTERFACE_DEFINED__

+

+/* interface ICurrentStateUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_ICurrentStateUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("31479718-D170-467B-9274-27FC3E88CB76")

+    ICurrentStateUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_stateValue( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_availableVersion( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_bytesDownloaded( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_totalBytesToDownload( 

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0003) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0004) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextRetryTime( 

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateUser0005) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installProgress( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0006) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installTimeRemainingMs( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0007) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isCanceled( 

+            /* [retval][out] */ VARIANT_BOOL *is_canceled) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_errorCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0008) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_extraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0009) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_completionMessage( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0010) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultCode( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0011) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_installerResultExtraCode1( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0012) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallLaunchCommandLine( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0013) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallUrl( 

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0014) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_postInstallAction( 

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0015) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct ICurrentStateUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            ICurrentStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            ICurrentStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            ICurrentStateUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            ICurrentStateUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            ICurrentStateUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            ICurrentStateUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            ICurrentStateUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_stateValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_stateValue )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0000);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_availableVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_availableVersion )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0001);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_bytesDownloaded)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_bytesDownloaded )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0002);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_totalBytesToDownload)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_totalBytesToDownload )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ ULONG *__MIDL__ICurrentStateUser0003);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_downloadTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadTimeRemainingMs )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0004);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_nextRetryTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextRetryTime )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ ULONGLONG *__MIDL__ICurrentStateUser0005);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installProgress)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installProgress )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0006);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installTimeRemainingMs)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installTimeRemainingMs )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0007);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_isCanceled)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isCanceled )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ VARIANT_BOOL *is_canceled);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_errorCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_errorCode )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0008);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_extraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_extraCode1 )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0009);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_completionMessage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_completionMessage )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0010);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installerResultCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultCode )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0011);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_installerResultExtraCode1)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_installerResultExtraCode1 )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0012);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_postInstallLaunchCommandLine)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallLaunchCommandLine )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0013);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_postInstallUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallUrl )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ BSTR *__MIDL__ICurrentStateUser0014);

+        

+        DECLSPEC_XFGVIRT(ICurrentStateUser, get_postInstallAction)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_postInstallAction )( 

+            ICurrentStateUser * This,

+            /* [retval][out] */ LONG *__MIDL__ICurrentStateUser0015);

+        

+        END_INTERFACE

+    } ICurrentStateUserVtbl;

+

+    interface ICurrentStateUser

+    {

+        CONST_VTBL struct ICurrentStateUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define ICurrentStateUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define ICurrentStateUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define ICurrentStateUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define ICurrentStateUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define ICurrentStateUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define ICurrentStateUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define ICurrentStateUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define ICurrentStateUser_get_stateValue(This,__MIDL__ICurrentStateUser0000)	\

+    ( (This)->lpVtbl -> get_stateValue(This,__MIDL__ICurrentStateUser0000) ) 

+

+#define ICurrentStateUser_get_availableVersion(This,__MIDL__ICurrentStateUser0001)	\

+    ( (This)->lpVtbl -> get_availableVersion(This,__MIDL__ICurrentStateUser0001) ) 

+

+#define ICurrentStateUser_get_bytesDownloaded(This,__MIDL__ICurrentStateUser0002)	\

+    ( (This)->lpVtbl -> get_bytesDownloaded(This,__MIDL__ICurrentStateUser0002) ) 

+

+#define ICurrentStateUser_get_totalBytesToDownload(This,__MIDL__ICurrentStateUser0003)	\

+    ( (This)->lpVtbl -> get_totalBytesToDownload(This,__MIDL__ICurrentStateUser0003) ) 

+

+#define ICurrentStateUser_get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateUser0004)	\

+    ( (This)->lpVtbl -> get_downloadTimeRemainingMs(This,__MIDL__ICurrentStateUser0004) ) 

+

+#define ICurrentStateUser_get_nextRetryTime(This,__MIDL__ICurrentStateUser0005)	\

+    ( (This)->lpVtbl -> get_nextRetryTime(This,__MIDL__ICurrentStateUser0005) ) 

+

+#define ICurrentStateUser_get_installProgress(This,__MIDL__ICurrentStateUser0006)	\

+    ( (This)->lpVtbl -> get_installProgress(This,__MIDL__ICurrentStateUser0006) ) 

+

+#define ICurrentStateUser_get_installTimeRemainingMs(This,__MIDL__ICurrentStateUser0007)	\

+    ( (This)->lpVtbl -> get_installTimeRemainingMs(This,__MIDL__ICurrentStateUser0007) ) 

+

+#define ICurrentStateUser_get_isCanceled(This,is_canceled)	\

+    ( (This)->lpVtbl -> get_isCanceled(This,is_canceled) ) 

+

+#define ICurrentStateUser_get_errorCode(This,__MIDL__ICurrentStateUser0008)	\

+    ( (This)->lpVtbl -> get_errorCode(This,__MIDL__ICurrentStateUser0008) ) 

+

+#define ICurrentStateUser_get_extraCode1(This,__MIDL__ICurrentStateUser0009)	\

+    ( (This)->lpVtbl -> get_extraCode1(This,__MIDL__ICurrentStateUser0009) ) 

+

+#define ICurrentStateUser_get_completionMessage(This,__MIDL__ICurrentStateUser0010)	\

+    ( (This)->lpVtbl -> get_completionMessage(This,__MIDL__ICurrentStateUser0010) ) 

+

+#define ICurrentStateUser_get_installerResultCode(This,__MIDL__ICurrentStateUser0011)	\

+    ( (This)->lpVtbl -> get_installerResultCode(This,__MIDL__ICurrentStateUser0011) ) 

+

+#define ICurrentStateUser_get_installerResultExtraCode1(This,__MIDL__ICurrentStateUser0012)	\

+    ( (This)->lpVtbl -> get_installerResultExtraCode1(This,__MIDL__ICurrentStateUser0012) ) 

+

+#define ICurrentStateUser_get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateUser0013)	\

+    ( (This)->lpVtbl -> get_postInstallLaunchCommandLine(This,__MIDL__ICurrentStateUser0013) ) 

+

+#define ICurrentStateUser_get_postInstallUrl(This,__MIDL__ICurrentStateUser0014)	\

+    ( (This)->lpVtbl -> get_postInstallUrl(This,__MIDL__ICurrentStateUser0014) ) 

+

+#define ICurrentStateUser_get_postInstallAction(This,__MIDL__ICurrentStateUser0015)	\

+    ( (This)->lpVtbl -> get_postInstallAction(This,__MIDL__ICurrentStateUser0015) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __ICurrentStateUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3Web_INTERFACE_DEFINED__

+#define __IGoogleUpdate3Web_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3Web */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3Web;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("A35E1C5E-0A18-4FF1-8C4D-DD8ED07B0BD0")

+    IGoogleUpdate3Web : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3Web * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3Web * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3Web * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3Web * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3Web, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3Web * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebVtbl;

+

+    interface IGoogleUpdate3Web

+    {

+        CONST_VTBL struct IGoogleUpdate3WebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3Web_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3Web_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3Web_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3Web_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3Web_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3Web_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3Web_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3Web_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3Web_INTERFACE_DEFINED__ */

+

+

+#ifndef __IGoogleUpdate3WebUser_INTERFACE_DEFINED__

+#define __IGoogleUpdate3WebUser_INTERFACE_DEFINED__

+

+/* interface IGoogleUpdate3WebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IGoogleUpdate3WebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EE8EE731-C592-4A4F-9774-BB04337B8F46")

+    IGoogleUpdate3WebUser : public IDispatch

+    {

+    public:

+        virtual HRESULT STDMETHODCALLTYPE createAppBundleWeb( 

+            /* [retval][out] */ IDispatch **app_bundle_web) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IGoogleUpdate3WebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IGoogleUpdate3WebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IGoogleUpdate3WebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IGoogleUpdate3WebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IGoogleUpdate3WebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IGoogleUpdate3WebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IGoogleUpdate3WebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IGoogleUpdate3WebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IGoogleUpdate3WebUser, createAppBundleWeb)

+        HRESULT ( STDMETHODCALLTYPE *createAppBundleWeb )( 

+            IGoogleUpdate3WebUser * This,

+            /* [retval][out] */ IDispatch **app_bundle_web);

+        

+        END_INTERFACE

+    } IGoogleUpdate3WebUserVtbl;

+

+    interface IGoogleUpdate3WebUser

+    {

+        CONST_VTBL struct IGoogleUpdate3WebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IGoogleUpdate3WebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IGoogleUpdate3WebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IGoogleUpdate3WebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IGoogleUpdate3WebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IGoogleUpdate3WebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IGoogleUpdate3WebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IGoogleUpdate3WebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IGoogleUpdate3WebUser_createAppBundleWeb(This,app_bundle_web)	\

+    ( (This)->lpVtbl -> createAppBundleWeb(This,app_bundle_web) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IGoogleUpdate3WebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWeb_INTERFACE_DEFINED__

+#define __IAppBundleWeb_INTERFACE_DEFINED__

+

+/* interface IAppBundleWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("0569DBB9-BAA0-48D5-8543-0F3BE30A1648")

+    IAppBundleWeb : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWeb * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWeb * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWeb * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWeb * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebVtbl;

+

+    interface IAppBundleWeb

+    {

+        CONST_VTBL struct IAppBundleWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWeb_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWeb_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWeb_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWeb_get_displayLanguage(This,__MIDL__IAppBundleWeb0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWeb0000) ) 

+

+#define IAppBundleWeb_put_displayLanguage(This,__MIDL__IAppBundleWeb0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWeb0001) ) 

+

+#define IAppBundleWeb_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWeb_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWeb_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWeb_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWeb_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWeb_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWeb_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWeb_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWeb_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWeb_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppBundleWebUser_INTERFACE_DEFINED__

+#define __IAppBundleWebUser_INTERFACE_DEFINED__

+

+/* interface IAppBundleWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppBundleWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("CE7A37FD-A255-460C-BAF1-708765EB76EC")

+    IAppBundleWebUser : public IDispatch

+    {

+    public:

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createApp( 

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createInstalledApp( 

+            /* [in] */ BSTR app_id) = 0;

+        

+        virtual /* [id] */ HRESULT STDMETHODCALLTYPE createAllInstalledApps( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_displayLanguage( 

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebUser0000) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_displayLanguage( 

+            /* [in] */ BSTR __MIDL__IAppBundleWebUser0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_parentHWND( 

+            /* [in] */ ULONG_PTR hwnd) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_length( 

+            /* [retval][out] */ int *index) = 0;

+        

+        virtual /* [propget][id] */ HRESULT STDMETHODCALLTYPE get_appWeb( 

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE initialize( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE checkForUpdate( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE download( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE install( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE pause( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE resume( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE downloadPackage( 

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ VARIANT *current_state) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppBundleWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppBundleWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppBundleWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppBundleWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppBundleWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppBundleWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, createApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createApp )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR app_guid,

+            /* [in] */ BSTR brand_code,

+            /* [in] */ BSTR language,

+            /* [in] */ BSTR ap);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, createInstalledApp)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createInstalledApp )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR app_id);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, createAllInstalledApps)

+        /* [id] */ HRESULT ( STDMETHODCALLTYPE *createAllInstalledApps )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_displayLanguage)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_displayLanguage )( 

+            IAppBundleWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppBundleWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, put_displayLanguage)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_displayLanguage )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR __MIDL__IAppBundleWebUser0001);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, put_parentHWND)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_parentHWND )( 

+            IAppBundleWebUser * This,

+            /* [in] */ ULONG_PTR hwnd);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_length)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_length )( 

+            IAppBundleWebUser * This,

+            /* [retval][out] */ int *index);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_appWeb)

+        /* [propget][id] */ HRESULT ( STDMETHODCALLTYPE *get_appWeb )( 

+            IAppBundleWebUser * This,

+            /* [in] */ int index,

+            /* [retval][out] */ IDispatch **app_web);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, initialize)

+        HRESULT ( STDMETHODCALLTYPE *initialize )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, checkForUpdate)

+        HRESULT ( STDMETHODCALLTYPE *checkForUpdate )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, download)

+        HRESULT ( STDMETHODCALLTYPE *download )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, install)

+        HRESULT ( STDMETHODCALLTYPE *install )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, pause)

+        HRESULT ( STDMETHODCALLTYPE *pause )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, resume)

+        HRESULT ( STDMETHODCALLTYPE *resume )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppBundleWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, downloadPackage)

+        HRESULT ( STDMETHODCALLTYPE *downloadPackage )( 

+            IAppBundleWebUser * This,

+            /* [in] */ BSTR app_id,

+            /* [in] */ BSTR package_name);

+        

+        DECLSPEC_XFGVIRT(IAppBundleWebUser, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppBundleWebUser * This,

+            /* [retval][out] */ VARIANT *current_state);

+        

+        END_INTERFACE

+    } IAppBundleWebUserVtbl;

+

+    interface IAppBundleWebUser

+    {

+        CONST_VTBL struct IAppBundleWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppBundleWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppBundleWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppBundleWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppBundleWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppBundleWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppBundleWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppBundleWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppBundleWebUser_createApp(This,app_guid,brand_code,language,ap)	\

+    ( (This)->lpVtbl -> createApp(This,app_guid,brand_code,language,ap) ) 

+

+#define IAppBundleWebUser_createInstalledApp(This,app_id)	\

+    ( (This)->lpVtbl -> createInstalledApp(This,app_id) ) 

+

+#define IAppBundleWebUser_createAllInstalledApps(This)	\

+    ( (This)->lpVtbl -> createAllInstalledApps(This) ) 

+

+#define IAppBundleWebUser_get_displayLanguage(This,__MIDL__IAppBundleWebUser0000)	\

+    ( (This)->lpVtbl -> get_displayLanguage(This,__MIDL__IAppBundleWebUser0000) ) 

+

+#define IAppBundleWebUser_put_displayLanguage(This,__MIDL__IAppBundleWebUser0001)	\

+    ( (This)->lpVtbl -> put_displayLanguage(This,__MIDL__IAppBundleWebUser0001) ) 

+

+#define IAppBundleWebUser_put_parentHWND(This,hwnd)	\

+    ( (This)->lpVtbl -> put_parentHWND(This,hwnd) ) 

+

+#define IAppBundleWebUser_get_length(This,index)	\

+    ( (This)->lpVtbl -> get_length(This,index) ) 

+

+#define IAppBundleWebUser_get_appWeb(This,index,app_web)	\

+    ( (This)->lpVtbl -> get_appWeb(This,index,app_web) ) 

+

+#define IAppBundleWebUser_initialize(This)	\

+    ( (This)->lpVtbl -> initialize(This) ) 

+

+#define IAppBundleWebUser_checkForUpdate(This)	\

+    ( (This)->lpVtbl -> checkForUpdate(This) ) 

+

+#define IAppBundleWebUser_download(This)	\

+    ( (This)->lpVtbl -> download(This) ) 

+

+#define IAppBundleWebUser_install(This)	\

+    ( (This)->lpVtbl -> install(This) ) 

+

+#define IAppBundleWebUser_pause(This)	\

+    ( (This)->lpVtbl -> pause(This) ) 

+

+#define IAppBundleWebUser_resume(This)	\

+    ( (This)->lpVtbl -> resume(This) ) 

+

+#define IAppBundleWebUser_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppBundleWebUser_downloadPackage(This,app_id,package_name)	\

+    ( (This)->lpVtbl -> downloadPackage(This,app_id,package_name) ) 

+

+#define IAppBundleWebUser_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppBundleWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWeb_INTERFACE_DEFINED__

+#define __IAppWeb_INTERFACE_DEFINED__

+

+/* interface IAppWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("63D941DE-F67B-4E15-8A90-27881DA9EF4A")

+    IAppWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWeb0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWeb * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWeb * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWeb * This);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppWeb, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWeb * This,

+            /* [in] */ BSTR __MIDL__IAppWeb0002);

+        

+        END_INTERFACE

+    } IAppWebVtbl;

+

+    interface IAppWeb

+    {

+        CONST_VTBL struct IAppWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWeb_get_appId(This,__MIDL__IAppWeb0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWeb0000) ) 

+

+#define IAppWeb_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWeb_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWeb_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWeb_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWeb_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWeb_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWeb_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWeb_get_serverInstallDataIndex(This,__MIDL__IAppWeb0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWeb0001) ) 

+

+#define IAppWeb_put_serverInstallDataIndex(This,__MIDL__IAppWeb0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWeb0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppWebUser_INTERFACE_DEFINED__

+#define __IAppWebUser_INTERFACE_DEFINED__

+

+/* interface IAppWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("47B9D508-CB72-4F8B-AF00-7D0143603B25")

+    IAppWebUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_appId( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentVersionWeb( 

+            /* [retval][out] */ IDispatch **current) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_nextVersionWeb( 

+            /* [retval][out] */ IDispatch **next) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_command( 

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE cancel( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_currentState( 

+            /* [retval][out] */ IDispatch **current_state) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE launch( void) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE uninstall( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_serverInstallDataIndex( 

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0001) = 0;

+        

+        virtual /* [propput] */ HRESULT STDMETHODCALLTYPE put_serverInstallDataIndex( 

+            /* [in] */ BSTR __MIDL__IAppWebUser0002) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_appId)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_appId )( 

+            IAppWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_currentVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentVersionWeb )( 

+            IAppWebUser * This,

+            /* [retval][out] */ IDispatch **current);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_nextVersionWeb)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_nextVersionWeb )( 

+            IAppWebUser * This,

+            /* [retval][out] */ IDispatch **next);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_command)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_command )( 

+            IAppWebUser * This,

+            /* [in] */ BSTR command_id,

+            /* [retval][out] */ IDispatch **command);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, cancel)

+        HRESULT ( STDMETHODCALLTYPE *cancel )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_currentState)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_currentState )( 

+            IAppWebUser * This,

+            /* [retval][out] */ IDispatch **current_state);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, launch)

+        HRESULT ( STDMETHODCALLTYPE *launch )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, uninstall)

+        HRESULT ( STDMETHODCALLTYPE *uninstall )( 

+            IAppWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, get_serverInstallDataIndex)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_serverInstallDataIndex )( 

+            IAppWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppWebUser0001);

+        

+        DECLSPEC_XFGVIRT(IAppWebUser, put_serverInstallDataIndex)

+        /* [propput] */ HRESULT ( STDMETHODCALLTYPE *put_serverInstallDataIndex )( 

+            IAppWebUser * This,

+            /* [in] */ BSTR __MIDL__IAppWebUser0002);

+        

+        END_INTERFACE

+    } IAppWebUserVtbl;

+

+    interface IAppWebUser

+    {

+        CONST_VTBL struct IAppWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppWebUser_get_appId(This,__MIDL__IAppWebUser0000)	\

+    ( (This)->lpVtbl -> get_appId(This,__MIDL__IAppWebUser0000) ) 

+

+#define IAppWebUser_get_currentVersionWeb(This,current)	\

+    ( (This)->lpVtbl -> get_currentVersionWeb(This,current) ) 

+

+#define IAppWebUser_get_nextVersionWeb(This,next)	\

+    ( (This)->lpVtbl -> get_nextVersionWeb(This,next) ) 

+

+#define IAppWebUser_get_command(This,command_id,command)	\

+    ( (This)->lpVtbl -> get_command(This,command_id,command) ) 

+

+#define IAppWebUser_cancel(This)	\

+    ( (This)->lpVtbl -> cancel(This) ) 

+

+#define IAppWebUser_get_currentState(This,current_state)	\

+    ( (This)->lpVtbl -> get_currentState(This,current_state) ) 

+

+#define IAppWebUser_launch(This)	\

+    ( (This)->lpVtbl -> launch(This) ) 

+

+#define IAppWebUser_uninstall(This)	\

+    ( (This)->lpVtbl -> uninstall(This) ) 

+

+#define IAppWebUser_get_serverInstallDataIndex(This,__MIDL__IAppWebUser0001)	\

+    ( (This)->lpVtbl -> get_serverInstallDataIndex(This,__MIDL__IAppWebUser0001) ) 

+

+#define IAppWebUser_put_serverInstallDataIndex(This,__MIDL__IAppWebUser0002)	\

+    ( (This)->lpVtbl -> put_serverInstallDataIndex(This,__MIDL__IAppWebUser0002) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWeb_INTERFACE_DEFINED__

+#define __IAppCommandWeb_INTERFACE_DEFINED__

+

+/* interface IAppCommandWeb */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWeb;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("10A2D03F-8BC7-49DB-A21E-A7D4429D2759")

+    IAppCommandWeb : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWeb * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWeb * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWeb * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWeb * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWeb * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWeb0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWeb0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWeb * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWeb0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWeb, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWeb * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebVtbl;

+

+    interface IAppCommandWeb

+    {

+        CONST_VTBL struct IAppCommandWebVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWeb_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWeb_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWeb_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWeb_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWeb_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWeb_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWeb_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWeb_get_status(This,__MIDL__IAppCommandWeb0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWeb0000) ) 

+

+#define IAppCommandWeb_get_exitCode(This,__MIDL__IAppCommandWeb0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWeb0001) ) 

+

+#define IAppCommandWeb_get_output(This,__MIDL__IAppCommandWeb0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWeb0002) ) 

+

+#define IAppCommandWeb_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWeb_INTERFACE_DEFINED__ */

+

+

+#ifndef __IAppCommandWebUser_INTERFACE_DEFINED__

+#define __IAppCommandWebUser_INTERFACE_DEFINED__

+

+/* interface IAppCommandWebUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IAppCommandWebUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("5515E66F-FA6F-4D74-B5EA-4FCFDA16FE12")

+    IAppCommandWebUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_status( 

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_exitCode( 

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_output( 

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebUser0002) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE execute( 

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IAppCommandWebUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IAppCommandWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IAppCommandWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IAppCommandWebUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IAppCommandWebUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IAppCommandWebUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IAppCommandWebUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IAppCommandWebUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, get_status)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_status )( 

+            IAppCommandWebUser * This,

+            /* [retval][out] */ UINT *__MIDL__IAppCommandWebUser0000);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, get_exitCode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_exitCode )( 

+            IAppCommandWebUser * This,

+            /* [retval][out] */ DWORD *__MIDL__IAppCommandWebUser0001);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, get_output)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_output )( 

+            IAppCommandWebUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IAppCommandWebUser0002);

+        

+        DECLSPEC_XFGVIRT(IAppCommandWebUser, execute)

+        HRESULT ( STDMETHODCALLTYPE *execute )( 

+            IAppCommandWebUser * This,

+            /* [optional][in] */ VARIANT substitution1,

+            /* [optional][in] */ VARIANT substitution2,

+            /* [optional][in] */ VARIANT substitution3,

+            /* [optional][in] */ VARIANT substitution4,

+            /* [optional][in] */ VARIANT substitution5,

+            /* [optional][in] */ VARIANT substitution6,

+            /* [optional][in] */ VARIANT substitution7,

+            /* [optional][in] */ VARIANT substitution8,

+            /* [optional][in] */ VARIANT substitution9);

+        

+        END_INTERFACE

+    } IAppCommandWebUserVtbl;

+

+    interface IAppCommandWebUser

+    {

+        CONST_VTBL struct IAppCommandWebUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IAppCommandWebUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IAppCommandWebUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IAppCommandWebUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IAppCommandWebUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IAppCommandWebUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IAppCommandWebUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IAppCommandWebUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IAppCommandWebUser_get_status(This,__MIDL__IAppCommandWebUser0000)	\

+    ( (This)->lpVtbl -> get_status(This,__MIDL__IAppCommandWebUser0000) ) 

+

+#define IAppCommandWebUser_get_exitCode(This,__MIDL__IAppCommandWebUser0001)	\

+    ( (This)->lpVtbl -> get_exitCode(This,__MIDL__IAppCommandWebUser0001) ) 

+

+#define IAppCommandWebUser_get_output(This,__MIDL__IAppCommandWebUser0002)	\

+    ( (This)->lpVtbl -> get_output(This,__MIDL__IAppCommandWebUser0002) ) 

+

+#define IAppCommandWebUser_execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9)	\

+    ( (This)->lpVtbl -> execute(This,substitution1,substitution2,substitution3,substitution4,substitution5,substitution6,substitution7,substitution8,substitution9) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IAppCommandWebUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus_INTERFACE_DEFINED__

+#define __IPolicyStatus_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("6A54FE75-EDC8-404E-A41B-4278C0557151")

+    IPolicyStatus : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusVtbl;

+

+    interface IPolicyStatus

+    {

+        CONST_VTBL struct IPolicyStatusVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatus_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatus_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatus_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatus_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatus_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatus_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusUser_INTERFACE_DEFINED__

+#define __IPolicyStatusUser_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("EF739C0C-40B0-478D-B76B-3659B8F2B0EB")

+    IPolicyStatusUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ DWORD *minutes) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ BSTR *pref) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ DWORD *limit) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ DWORD *days) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ DWORD *minutes);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatusUser * This,

+            /* [out] */ DWORD *start_hour,

+            /* [out] */ DWORD *start_min,

+            /* [out] */ DWORD *duration_min,

+            /* [out] */ VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ BSTR *pref);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ DWORD *limit);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatusUser * This,

+            /* [retval][out] */ DWORD *days);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ DWORD *policy);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ BSTR *prefix);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusUser, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatusUser * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ VARIANT_BOOL *rollback_allowed);

+        

+        END_INTERFACE

+    } IPolicyStatusUserVtbl;

+

+    interface IPolicyStatusUser

+    {

+        CONST_VTBL struct IPolicyStatusUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusUser_get_lastCheckPeriodMinutes(This,minutes)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,minutes) ) 

+

+#define IPolicyStatusUser_get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,start_hour,start_min,duration_min,are_updates_suppressed) ) 

+

+#define IPolicyStatusUser_get_downloadPreferenceGroupPolicy(This,pref)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,pref) ) 

+

+#define IPolicyStatusUser_get_packageCacheSizeLimitMBytes(This,limit)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,limit) ) 

+

+#define IPolicyStatusUser_get_packageCacheExpirationTimeDays(This,days)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,days) ) 

+

+#define IPolicyStatusUser_get_effectivePolicyForAppInstalls(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,policy) ) 

+

+#define IPolicyStatusUser_get_effectivePolicyForAppUpdates(This,app_id,policy)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,policy) ) 

+

+#define IPolicyStatusUser_get_targetVersionPrefix(This,app_id,prefix)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,prefix) ) 

+

+#define IPolicyStatusUser_get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,rollback_allowed) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValue_INTERFACE_DEFINED__

+#define __IPolicyStatusValue_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValue */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValue;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("2A7D2AE7-8EEE-45B4-B17F-31DAAC82CCBB")

+    IPolicyStatusValue : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValue * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValue * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValue * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValue * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValue * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValue, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValue * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValue0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueVtbl;

+

+    interface IPolicyStatusValue

+    {

+        CONST_VTBL struct IPolicyStatusValueVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValue_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValue_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValue_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValue_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValue_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValue_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValue_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValue_get_source(This,__MIDL__IPolicyStatusValue0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValue0000) ) 

+

+#define IPolicyStatusValue_get_value(This,__MIDL__IPolicyStatusValue0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValue0001) ) 

+

+#define IPolicyStatusValue_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValue_get_conflictSource(This,__MIDL__IPolicyStatusValue0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValue0002) ) 

+

+#define IPolicyStatusValue_get_conflictValue(This,__MIDL__IPolicyStatusValue0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValue0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValue_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatusValueUser_INTERFACE_DEFINED__

+#define __IPolicyStatusValueUser_INTERFACE_DEFINED__

+

+/* interface IPolicyStatusValueUser */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatusValueUser;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("7E0A6B39-7CEB-4944-ABFA-F419D201D6A0")

+    IPolicyStatusValueUser : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_source( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0000) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_value( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0001) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_hasConflict( 

+            /* [retval][out] */ VARIANT_BOOL *has_conflict) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictSource( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0002) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_conflictValue( 

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0003) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatusValueUserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatusValueUser * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatusValueUser * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatusValueUser * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatusValueUser * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatusValueUser * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatusValueUser * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatusValueUser * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_source)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_source )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0000);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_value)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_value )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0001);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_hasConflict)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_hasConflict )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ VARIANT_BOOL *has_conflict);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_conflictSource)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictSource )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0002);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatusValueUser, get_conflictValue)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_conflictValue )( 

+            IPolicyStatusValueUser * This,

+            /* [retval][out] */ BSTR *__MIDL__IPolicyStatusValueUser0003);

+        

+        END_INTERFACE

+    } IPolicyStatusValueUserVtbl;

+

+    interface IPolicyStatusValueUser

+    {

+        CONST_VTBL struct IPolicyStatusValueUserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatusValueUser_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatusValueUser_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatusValueUser_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatusValueUser_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatusValueUser_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatusValueUser_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatusValueUser_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatusValueUser_get_source(This,__MIDL__IPolicyStatusValueUser0000)	\

+    ( (This)->lpVtbl -> get_source(This,__MIDL__IPolicyStatusValueUser0000) ) 

+

+#define IPolicyStatusValueUser_get_value(This,__MIDL__IPolicyStatusValueUser0001)	\

+    ( (This)->lpVtbl -> get_value(This,__MIDL__IPolicyStatusValueUser0001) ) 

+

+#define IPolicyStatusValueUser_get_hasConflict(This,has_conflict)	\

+    ( (This)->lpVtbl -> get_hasConflict(This,has_conflict) ) 

+

+#define IPolicyStatusValueUser_get_conflictSource(This,__MIDL__IPolicyStatusValueUser0002)	\

+    ( (This)->lpVtbl -> get_conflictSource(This,__MIDL__IPolicyStatusValueUser0002) ) 

+

+#define IPolicyStatusValueUser_get_conflictValue(This,__MIDL__IPolicyStatusValueUser0003)	\

+    ( (This)->lpVtbl -> get_conflictValue(This,__MIDL__IPolicyStatusValueUser0003) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatusValueUser_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2_INTERFACE_DEFINED__

+#define __IPolicyStatus2_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("06A6AA1E-2680-4076-A7CD-6053722CF454")

+    IPolicyStatus2 : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2Vtbl;

+

+    interface IPolicyStatus2

+    {

+        CONST_VTBL struct IPolicyStatus2Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus2User_INTERFACE_DEFINED__

+#define __IPolicyStatus2User_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus2User */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus2User;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("AD91C851-86AC-499F-9BA9-9A561744AA4D")

+    IPolicyStatus2User : public IDispatch

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updaterVersion( 

+            /* [retval][out] */ BSTR *version) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckedTime( 

+            /* [retval][out] */ DATE *last_checked) = 0;

+        

+        virtual HRESULT STDMETHODCALLTYPE refreshPolicies( void) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_lastCheckPeriodMinutes( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_updatesSuppressedTimes( 

+            /* [out] */ IPolicyStatusValueUser **value,

+            VARIANT_BOOL *are_updates_suppressed) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_downloadPreferenceGroupPolicy( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheSizeLimitMBytes( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_packageCacheExpirationTimeDays( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyMode( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyPacUrl( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_proxyServer( 

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppInstalls( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_effectivePolicyForAppUpdates( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetVersionPrefix( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_isRollbackToTargetVersionAllowed( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_targetChannel( 

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus2UserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus2User * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus2User * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus2User * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus2User * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus2User * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus2User * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus2User * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus2User * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus2User * This,

+            /* [out] */ IPolicyStatusValueUser **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus2User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus2User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        END_INTERFACE

+    } IPolicyStatus2UserVtbl;

+

+    interface IPolicyStatus2User

+    {

+        CONST_VTBL struct IPolicyStatus2UserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus2User_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus2User_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus2User_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus2User_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus2User_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus2User_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus2User_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus2User_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus2User_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus2User_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus2User_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus2User_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus2User_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus2User_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus2User_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus2User_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus2User_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus2User_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus2User_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus2User_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus2User_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3_INTERFACE_DEFINED__

+#define __IPolicyStatus3_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3 */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("029BD175-5035-4E2A-8724-C9D47F4FAEA3")

+    IPolicyStatus3 : public IPolicyStatus2

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3Vtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3 * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3 * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3 * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3 * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3 * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3 * This,

+            /* [out] */ IPolicyStatusValue **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3 * This,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3 * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3 * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValue **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3Vtbl;

+

+    interface IPolicyStatus3

+    {

+        CONST_VTBL struct IPolicyStatus3Vtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3_INTERFACE_DEFINED__ */

+

+

+#ifndef __IPolicyStatus3User_INTERFACE_DEFINED__

+#define __IPolicyStatus3User_INTERFACE_DEFINED__

+

+/* interface IPolicyStatus3User */

+/* [unique][helpstring][uuid][dual][object] */ 

+

+

+EXTERN_C const IID IID_IPolicyStatus3User;

+

+#if defined(__cplusplus) && !defined(CINTERFACE)

+    

+    MIDL_INTERFACE("BC39E1E1-E8FA-4E72-903F-3BF346E7E165")

+    IPolicyStatus3User : public IPolicyStatus2User

+    {

+    public:

+        virtual /* [propget] */ HRESULT STDMETHODCALLTYPE get_forceInstallApps( 

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueUser **value) = 0;

+        

+    };

+    

+    

+#else 	/* C style interface */

+

+    typedef struct IPolicyStatus3UserVtbl

+    {

+        BEGIN_INTERFACE

+        

+        DECLSPEC_XFGVIRT(IUnknown, QueryInterface)

+        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 

+            IPolicyStatus3User * This,

+            /* [in] */ REFIID riid,

+            /* [annotation][iid_is][out] */ 

+            _COM_Outptr_  void **ppvObject);

+        

+        DECLSPEC_XFGVIRT(IUnknown, AddRef)

+        ULONG ( STDMETHODCALLTYPE *AddRef )( 

+            IPolicyStatus3User * This);

+        

+        DECLSPEC_XFGVIRT(IUnknown, Release)

+        ULONG ( STDMETHODCALLTYPE *Release )( 

+            IPolicyStatus3User * This);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfoCount)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 

+            IPolicyStatus3User * This,

+            /* [out] */ UINT *pctinfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetTypeInfo)

+        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 

+            IPolicyStatus3User * This,

+            /* [in] */ UINT iTInfo,

+            /* [in] */ LCID lcid,

+            /* [out] */ ITypeInfo **ppTInfo);

+        

+        DECLSPEC_XFGVIRT(IDispatch, GetIDsOfNames)

+        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 

+            IPolicyStatus3User * This,

+            /* [in] */ REFIID riid,

+            /* [size_is][in] */ LPOLESTR *rgszNames,

+            /* [range][in] */ UINT cNames,

+            /* [in] */ LCID lcid,

+            /* [size_is][out] */ DISPID *rgDispId);

+        

+        DECLSPEC_XFGVIRT(IDispatch, Invoke)

+        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 

+            IPolicyStatus3User * This,

+            /* [annotation][in] */ 

+            _In_  DISPID dispIdMember,

+            /* [annotation][in] */ 

+            _In_  REFIID riid,

+            /* [annotation][in] */ 

+            _In_  LCID lcid,

+            /* [annotation][in] */ 

+            _In_  WORD wFlags,

+            /* [annotation][out][in] */ 

+            _In_  DISPPARAMS *pDispParams,

+            /* [annotation][out] */ 

+            _Out_opt_  VARIANT *pVarResult,

+            /* [annotation][out] */ 

+            _Out_opt_  EXCEPINFO *pExcepInfo,

+            /* [annotation][out] */ 

+            _Out_opt_  UINT *puArgErr);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updaterVersion)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updaterVersion )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ BSTR *version);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckedTime)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckedTime )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ DATE *last_checked);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, refreshPolicies)

+        HRESULT ( STDMETHODCALLTYPE *refreshPolicies )( 

+            IPolicyStatus3User * This);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_lastCheckPeriodMinutes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_lastCheckPeriodMinutes )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_updatesSuppressedTimes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_updatesSuppressedTimes )( 

+            IPolicyStatus3User * This,

+            /* [out] */ IPolicyStatusValueUser **value,

+            VARIANT_BOOL *are_updates_suppressed);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_downloadPreferenceGroupPolicy)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_downloadPreferenceGroupPolicy )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheSizeLimitMBytes)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheSizeLimitMBytes )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_packageCacheExpirationTimeDays)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_packageCacheExpirationTimeDays )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyMode)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyMode )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyPacUrl)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyPacUrl )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_proxyServer)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_proxyServer )( 

+            IPolicyStatus3User * This,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppInstalls)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppInstalls )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_effectivePolicyForAppUpdates)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_effectivePolicyForAppUpdates )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetVersionPrefix)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetVersionPrefix )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_isRollbackToTargetVersionAllowed)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_isRollbackToTargetVersionAllowed )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus2User, get_targetChannel)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_targetChannel )( 

+            IPolicyStatus3User * This,

+            /* [in] */ BSTR app_id,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        DECLSPEC_XFGVIRT(IPolicyStatus3User, get_forceInstallApps)

+        /* [propget] */ HRESULT ( STDMETHODCALLTYPE *get_forceInstallApps )( 

+            IPolicyStatus3User * This,

+            /* [in] */ VARIANT_BOOL is_machine,

+            /* [retval][out] */ IPolicyStatusValueUser **value);

+        

+        END_INTERFACE

+    } IPolicyStatus3UserVtbl;

+

+    interface IPolicyStatus3User

+    {

+        CONST_VTBL struct IPolicyStatus3UserVtbl *lpVtbl;

+    };

+

+    

+

+#ifdef COBJMACROS

+

+

+#define IPolicyStatus3User_QueryInterface(This,riid,ppvObject)	\

+    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

+

+#define IPolicyStatus3User_AddRef(This)	\

+    ( (This)->lpVtbl -> AddRef(This) ) 

+

+#define IPolicyStatus3User_Release(This)	\

+    ( (This)->lpVtbl -> Release(This) ) 

+

+

+#define IPolicyStatus3User_GetTypeInfoCount(This,pctinfo)	\

+    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

+

+#define IPolicyStatus3User_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\

+    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

+

+#define IPolicyStatus3User_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\

+    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

+

+#define IPolicyStatus3User_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\

+    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

+

+

+#define IPolicyStatus3User_get_updaterVersion(This,version)	\

+    ( (This)->lpVtbl -> get_updaterVersion(This,version) ) 

+

+#define IPolicyStatus3User_get_lastCheckedTime(This,last_checked)	\

+    ( (This)->lpVtbl -> get_lastCheckedTime(This,last_checked) ) 

+

+#define IPolicyStatus3User_refreshPolicies(This)	\

+    ( (This)->lpVtbl -> refreshPolicies(This) ) 

+

+#define IPolicyStatus3User_get_lastCheckPeriodMinutes(This,value)	\

+    ( (This)->lpVtbl -> get_lastCheckPeriodMinutes(This,value) ) 

+

+#define IPolicyStatus3User_get_updatesSuppressedTimes(This,value,are_updates_suppressed)	\

+    ( (This)->lpVtbl -> get_updatesSuppressedTimes(This,value,are_updates_suppressed) ) 

+

+#define IPolicyStatus3User_get_downloadPreferenceGroupPolicy(This,value)	\

+    ( (This)->lpVtbl -> get_downloadPreferenceGroupPolicy(This,value) ) 

+

+#define IPolicyStatus3User_get_packageCacheSizeLimitMBytes(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheSizeLimitMBytes(This,value) ) 

+

+#define IPolicyStatus3User_get_packageCacheExpirationTimeDays(This,value)	\

+    ( (This)->lpVtbl -> get_packageCacheExpirationTimeDays(This,value) ) 

+

+#define IPolicyStatus3User_get_proxyMode(This,value)	\

+    ( (This)->lpVtbl -> get_proxyMode(This,value) ) 

+

+#define IPolicyStatus3User_get_proxyPacUrl(This,value)	\

+    ( (This)->lpVtbl -> get_proxyPacUrl(This,value) ) 

+

+#define IPolicyStatus3User_get_proxyServer(This,value)	\

+    ( (This)->lpVtbl -> get_proxyServer(This,value) ) 

+

+#define IPolicyStatus3User_get_effectivePolicyForAppInstalls(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppInstalls(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_effectivePolicyForAppUpdates(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_effectivePolicyForAppUpdates(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_targetVersionPrefix(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetVersionPrefix(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_isRollbackToTargetVersionAllowed(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_isRollbackToTargetVersionAllowed(This,app_id,value) ) 

+

+#define IPolicyStatus3User_get_targetChannel(This,app_id,value)	\

+    ( (This)->lpVtbl -> get_targetChannel(This,app_id,value) ) 

+

+

+#define IPolicyStatus3User_get_forceInstallApps(This,is_machine,value)	\

+    ( (This)->lpVtbl -> get_forceInstallApps(This,is_machine,value) ) 

+

+#endif /* COBJMACROS */

+

+

+#endif 	/* C style interface */

+

+

+

+

+#endif 	/* __IPolicyStatus3User_INTERFACE_DEFINED__ */

+

+

+

+#ifndef __UpdaterLegacyLib_LIBRARY_DEFINED__

+#define __UpdaterLegacyLib_LIBRARY_DEFINED__

+

+/* library UpdaterLegacyLib */

+/* [helpstring][version][uuid] */ 

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+EXTERN_C const IID LIBID_UpdaterLegacyLib;

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("A0FEB7CB-E0D8-4035-A4C9-5620A8C725AD")

+GoogleUpdate3WebUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("FAC5C548-84EC-474C-A4B3-CD414E09B14C")

+GoogleUpdate3WebSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_GoogleUpdate3WebServiceClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("687DCE9A-57BE-4026-BEC4-C0A9ACBBCAF2")

+GoogleUpdate3WebServiceClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusUserClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("E432DCFE-6A32-4C07-B038-9D74AC80D6AB")

+PolicyStatusUserClass;

+#endif

+

+EXTERN_C const CLSID CLSID_PolicyStatusSystemClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("F675D224-BD54-40E9-AECB-AA3B64EB9863")

+PolicyStatusSystemClass;

+#endif

+

+EXTERN_C const CLSID CLSID_ProcessLauncherClass;

+

+#ifdef __cplusplus

+

+class DECLSPEC_UUID("CEC2877D-4856-460E-BE73-11DD7CC7C821")

+ProcessLauncherClass;

+#endif

+#endif /* __UpdaterLegacyLib_LIBRARY_DEFINED__ */

+

+/* Additional Prototypes for ALL interfaces */

+

+unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 

+unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 

+void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

+

+unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 

+unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 

+void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

+

+/* end of Additional Prototypes */

+

+#ifdef __cplusplus

+}

+#endif

+

+#endif

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user.tlb b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user.tlb
new file mode 100644
index 0000000..fa2bc84
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user.tlb
Binary files differ
diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user_i.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user_i.c
new file mode 100644
index 0000000..d630b4c
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user_i.c
@@ -0,0 +1,157 @@
+

+

+/* this ALWAYS GENERATED file contains the IIDs and CLSIDs */

+

+/* link this file in with the server and any clients */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_user.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+

+

+#ifdef __cplusplus

+extern "C"{

+#endif 

+

+

+#include <rpc.h>

+#include <rpcndr.h>

+

+#ifdef _MIDL_USE_GUIDDEF_

+

+#ifndef INITGUID

+#define INITGUID

+#include <guiddef.h>

+#undef INITGUID

+#else

+#include <guiddef.h>

+#endif

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        DEFINE_GUID(name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8)

+

+#else // !_MIDL_USE_GUIDDEF_

+

+#ifndef __IID_DEFINED__

+#define __IID_DEFINED__

+

+typedef struct _IID

+{

+    unsigned long x;

+    unsigned short s1;

+    unsigned short s2;

+    unsigned char  c[8];

+} IID;

+

+#endif // __IID_DEFINED__

+

+#ifndef CLSID_DEFINED

+#define CLSID_DEFINED

+typedef IID CLSID;

+#endif // CLSID_DEFINED

+

+#define MIDL_DEFINE_GUID(type,name,l,w1,w2,b1,b2,b3,b4,b5,b6,b7,b8) \

+        EXTERN_C __declspec(selectany) const type name = {l,w1,w2,{b1,b2,b3,b4,b5,b6,b7,b8}}

+

+#endif // !_MIDL_USE_GUIDDEF_

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWeb,0xAA10D17D,0x7A09,0x48AC,0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppVersionWebUser,0xAC817E10,0x993C,0x470F,0x8D,0xCA,0x25,0xF5,0x3D,0x70,0xEA,0x8D);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentState,0xA643508B,0xB1E3,0x4457,0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57);

+

+

+MIDL_DEFINE_GUID(IID, IID_ICurrentStateUser,0x31479718,0xD170,0x467B,0x92,0x74,0x27,0xFC,0x3E,0x88,0xCB,0x76);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3Web,0xA35E1C5E,0x0A18,0x4FF1,0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IGoogleUpdate3WebUser,0xEE8EE731,0xC592,0x4A4F,0x97,0x74,0xBB,0x04,0x33,0x7B,0x8F,0x46);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWeb,0x0569DBB9,0xBAA0,0x48D5,0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppBundleWebUser,0xCE7A37FD,0xA255,0x460C,0xBA,0xF1,0x70,0x87,0x65,0xEB,0x76,0xEC);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWeb,0x63D941DE,0xF67B,0x4E15,0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppWebUser,0x47B9D508,0xCB72,0x4F8B,0xAF,0x00,0x7D,0x01,0x43,0x60,0x3B,0x25);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWeb,0x10A2D03F,0x8BC7,0x49DB,0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59);

+

+

+MIDL_DEFINE_GUID(IID, IID_IAppCommandWebUser,0x5515E66F,0xFA6F,0x4D74,0xB5,0xEA,0x4F,0xCF,0xDA,0x16,0xFE,0x12);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus,0x6A54FE75,0xEDC8,0x404E,0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusUser,0xEF739C0C,0x40B0,0x478D,0xB7,0x6B,0x36,0x59,0xB8,0xF2,0xB0,0xEB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValue,0x2A7D2AE7,0x8EEE,0x45B4,0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatusValueUser,0x7E0A6B39,0x7CEB,0x4944,0xAB,0xFA,0xF4,0x19,0xD2,0x01,0xD6,0xA0);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2,0x06A6AA1E,0x2680,0x4076,0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus2User,0xAD91C851,0x86AC,0x499F,0x9B,0xA9,0x9A,0x56,0x17,0x44,0xAA,0x4D);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3,0x029BD175,0x5035,0x4E2A,0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3);

+

+

+MIDL_DEFINE_GUID(IID, IID_IPolicyStatus3User,0xBC39E1E1,0xE8FA,0x4E72,0x90,0x3F,0x3B,0xF3,0x46,0xE7,0xE1,0x65);

+

+

+MIDL_DEFINE_GUID(IID, LIBID_UpdaterLegacyLib,0x7A1FDE1F,0xAAA9,0x441B,0xB9,0xAA,0x95,0xB3,0x1D,0x78,0x59,0x2B);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebUserClass,0xA0FEB7CB,0xE0D8,0x4035,0xA4,0xC9,0x56,0x20,0xA8,0xC7,0x25,0xAD);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebSystemClass,0xFAC5C548,0x84EC,0x474C,0xA4,0xB3,0xCD,0x41,0x4E,0x09,0xB1,0x4C);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_GoogleUpdate3WebServiceClass,0x687DCE9A,0x57BE,0x4026,0xBE,0xC4,0xC0,0xA9,0xAC,0xBB,0xCA,0xF2);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusUserClass,0xE432DCFE,0x6A32,0x4C07,0xB0,0x38,0x9D,0x74,0xAC,0x80,0xD6,0xAB);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_PolicyStatusSystemClass,0xF675D224,0xBD54,0x40E9,0xAE,0xCB,0xAA,0x3B,0x64,0xEB,0x98,0x63);

+

+

+MIDL_DEFINE_GUID(CLSID, CLSID_ProcessLauncherClass,0xCEC2877D,0x4856,0x460E,0xBE,0x73,0x11,0xDD,0x7C,0xC7,0xC8,0x21);

+

+#undef MIDL_DEFINE_GUID

+

+#ifdef __cplusplus

+}

+#endif

+

+

+

diff --git a/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user_p.c b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user_p.c
new file mode 100644
index 0000000..d6949b0e
--- /dev/null
+++ b/third_party/win_build_output/midl/chrome/updater/app/server/win/x86/updater_legacy_idl_user_p.c
@@ -0,0 +1,6779 @@
+

+

+/* this ALWAYS GENERATED file contains the proxy stub code */

+

+

+ /* File created by MIDL compiler version 8.xx.xxxx */

+/* at a redacted point in time

+ */

+/* Compiler settings for gen/chrome/updater/app/server/win/updater_legacy_idl_user.idl:

+    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.xx.xxxx 

+    protocol : dce , ms_ext, c_ext, robust

+    error checks: allocation ref bounds_check enum stub_data 

+    VC __declspec() decoration level: 

+         __declspec(uuid()), __declspec(selectany), __declspec(novtable)

+         DECLSPEC_UUID(), MIDL_INTERFACE()

+*/

+/* @@MIDL_FILE_HEADING(  ) */

+

+#if !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_)

+

+

+#pragma warning( disable: 4049 )  /* more than 64k source lines */

+#if _MSC_VER >= 1200

+#pragma warning(push)

+#endif

+

+#pragma warning( disable: 4211 )  /* redefine extern to static */

+#pragma warning( disable: 4232 )  /* dllimport identity*/

+#pragma warning( disable: 4024 )  /* array to pointer mapping*/

+#pragma warning( disable: 4152 )  /* function/data pointer conversion in expression */

+#pragma warning( disable: 4100 ) /* unreferenced arguments in x86 call */

+

+#pragma optimize("", off ) 

+

+#define USE_STUBLESS_PROXY

+

+

+/* verify that the <rpcproxy.h> version is high enough to compile this file*/

+#ifndef __REDQ_RPCPROXY_H_VERSION__

+#define __REQUIRED_RPCPROXY_H_VERSION__ 475

+#endif

+

+

+#include "rpcproxy.h"

+#ifndef __RPCPROXY_H_VERSION__

+#error this stub requires an updated version of <rpcproxy.h>

+#endif /* __RPCPROXY_H_VERSION__ */

+

+

+#include "updater_legacy_idl_user.h"

+

+#define TYPE_FORMAT_STRING_SIZE   1149                              

+#define PROC_FORMAT_STRING_SIZE   3175                              

+#define EXPR_FORMAT_STRING_SIZE   1                                 

+#define TRANSMIT_AS_TABLE_SIZE    0            

+#define WIRE_MARSHAL_TABLE_SIZE   2            

+

+typedef struct _updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ TYPE_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING

+    {

+    short          Pad;

+    unsigned char  Format[ PROC_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING;

+

+typedef struct _updater_legacy_idl_user_MIDL_EXPR_FORMAT_STRING

+    {

+    long          Pad;

+    unsigned char  Format[ EXPR_FORMAT_STRING_SIZE ];

+    } updater_legacy_idl_user_MIDL_EXPR_FORMAT_STRING;

+

+

+static const RPC_SYNTAX_IDENTIFIER  _RpcTransferSyntax_2_0 = 

+{{0x8A885D04,0x1CEB,0x11C9,{0x9F,0xE8,0x08,0x00,0x2B,0x10,0x48,0x60}},{2,0}};

+

+#if defined(_CONTROL_FLOW_GUARD_XFG)

+#define XFG_TRAMPOLINES(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_TRAMPOLINES64(ObjectType)\

+NDR_SHAREABLE unsigned long ObjectType ## _UserSize64_XFG(unsigned long * pFlags, unsigned long Offset, void * pObject)\

+{\

+return  ObjectType ## _UserSize64(pFlags, Offset, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserMarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserMarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE unsigned char * ObjectType ## _UserUnmarshal64_XFG(unsigned long * pFlags, unsigned char * pBuffer, void * pObject)\

+{\

+return ObjectType ## _UserUnmarshal64(pFlags, pBuffer, (ObjectType *)pObject);\

+}\

+NDR_SHAREABLE void ObjectType ## _UserFree64_XFG(unsigned long * pFlags, void * pObject)\

+{\

+ObjectType ## _UserFree64(pFlags, (ObjectType *)pObject);\

+}

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)\

+static void* ObjectType ## _bind_XFG(HandleType pObject)\

+{\

+return ObjectType ## _bind((ObjectType) pObject);\

+}\

+static void ObjectType ## _unbind_XFG(HandleType pObject, handle_t ServerHandle)\

+{\

+ObjectType ## _unbind((ObjectType) pObject, ServerHandle);\

+}

+#define XFG_TRAMPOLINE_FPTR(Function) Function ## _XFG

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol ## _XFG

+#else

+#define XFG_TRAMPOLINES(ObjectType)

+#define XFG_TRAMPOLINES64(ObjectType)

+#define XFG_BIND_TRAMPOLINES(HandleType, ObjectType)

+#define XFG_TRAMPOLINE_FPTR(Function) Function

+#define XFG_TRAMPOLINE_FPTR_DEPENDENT_SYMBOL(Symbol) Symbol

+#endif

+

+

+extern const updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_user__MIDL_TypeFormatString;

+extern const updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING updater_legacy_idl_user__MIDL_ProcFormatString;

+extern const updater_legacy_idl_user_MIDL_EXPR_FORMAT_STRING updater_legacy_idl_user__MIDL_ExprFormatString;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppVersionWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppVersionWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentState_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO ICurrentStateUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO ICurrentStateUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IGoogleUpdate3WebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppBundleWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppBundleWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IAppCommandWebUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IAppCommandWebUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatusValueUser_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueUser_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus2User_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2User_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo;

+

+#ifdef __cplusplus

+namespace {

+#endif

+

+extern const MIDL_STUB_DESC Object_StubDesc;

+#ifdef __cplusplus

+}

+#endif

+

+

+extern const MIDL_SERVER_INFO IPolicyStatus3User_ServerInfo;

+extern const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3User_ProxyInfo;

+

+

+extern const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ];

+

+#if !defined(__RPC_WIN32__)

+#error  Invalid build platform for this stub.

+#endif

+

+#if !(TARGET_IS_NT50_OR_LATER)

+#error You need Windows 2000 or later to run this stub because it uses these features:

+#error   /robust command line switch.

+#error However, your C/C++ compilation flags indicate you intend to run this app on earlier systems.

+#error This app will fail with the RPC_X_WRONG_STUB_VERSION error.

+#endif

+

+

+static const updater_legacy_idl_user_MIDL_PROC_FORMAT_STRING updater_legacy_idl_user__MIDL_ProcFormatString =

+    {

+        0,

+        {

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_updaterVersion */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_source */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_appId */

+

+

+	/* Procedure get_version */

+

+

+	/* Procedure get_version */

+

+			0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/*  2 */	NdrFcLong( 0x0 ),	/* 0 */

+/*  6 */	NdrFcShort( 0x7 ),	/* 7 */

+/*  8 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 10 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 12 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 14 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 16 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 18 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 20 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 22 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter version */

+

+

+	/* Parameter version */

+

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0000 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0000 */

+

+

+	/* Parameter __MIDL__IAppWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppWeb0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppVersionWeb0000 */

+

+/* 24 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 26 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 28 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 30 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 32 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 34 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_exitCode */

+

+

+	/* Procedure get_packageCount */

+

+

+	/* Procedure get_packageCount */

+

+/* 36 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 38 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 42 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 44 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 46 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 48 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 50 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 52 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 54 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppCommandWebUser0001 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0001 */

+

+

+	/* Parameter count */

+

+

+	/* Parameter count */

+

+/* 60 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 62 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 64 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 66 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 68 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 70 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageWeb */

+

+

+	/* Procedure get_packageWeb */

+

+/* 72 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 74 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 78 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 80 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 82 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 84 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 86 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 88 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 90 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 92 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 94 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 96 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 98 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 100 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter package */

+

+

+	/* Parameter package */

+

+/* 102 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 104 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 106 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 108 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 110 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 112 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_status */

+

+

+	/* Procedure get_stateValue */

+

+

+	/* Procedure get_stateValue */

+

+/* 114 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 116 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 120 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 122 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 124 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 126 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 128 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 130 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 134 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 136 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter minutes */

+

+

+	/* Parameter minutes */

+

+

+	/* Parameter __MIDL__IAppCommandWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0000 */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0000 */

+

+

+	/* Parameter __MIDL__ICurrentState0000 */

+

+/* 138 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 140 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 142 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 144 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 146 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 148 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_value */

+

+

+	/* Procedure get_availableVersion */

+

+

+	/* Procedure get_availableVersion */

+

+/* 150 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 152 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 156 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 158 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 160 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 162 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 164 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 166 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 168 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 172 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0001 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0001 */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0001 */

+

+

+	/* Parameter __MIDL__ICurrentState0001 */

+

+/* 174 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 176 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 178 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 180 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 182 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 184 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_bytesDownloaded */

+

+

+	/* Procedure get_bytesDownloaded */

+

+/* 186 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 188 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 192 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 194 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 196 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 198 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 200 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 202 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 204 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 206 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 208 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0002 */

+

+

+	/* Parameter __MIDL__ICurrentState0002 */

+

+/* 210 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 212 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 214 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 216 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 218 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 220 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+

+	/* Procedure get_totalBytesToDownload */

+

+/* 222 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 224 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 228 */	NdrFcShort( 0xa ),	/* 10 */

+/* 230 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 234 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 236 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 238 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 240 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 242 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 244 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter limit */

+

+

+	/* Parameter limit */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0003 */

+

+

+	/* Parameter __MIDL__ICurrentState0003 */

+

+/* 246 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 248 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 250 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 252 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 254 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 256 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+

+	/* Procedure get_downloadTimeRemainingMs */

+

+/* 258 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 260 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 264 */	NdrFcShort( 0xb ),	/* 11 */

+/* 266 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 268 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 270 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 272 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 274 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 276 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 280 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter days */

+

+

+	/* Parameter days */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0004 */

+

+

+	/* Parameter __MIDL__ICurrentState0004 */

+

+/* 282 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 284 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 286 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 288 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 290 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 292 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextRetryTime */

+

+

+	/* Procedure get_nextRetryTime */

+

+/* 294 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 296 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 300 */	NdrFcShort( 0xc ),	/* 12 */

+/* 302 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 306 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 308 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 310 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 312 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 314 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 316 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0005 */

+

+

+	/* Parameter __MIDL__ICurrentState0005 */

+

+/* 318 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 320 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 322 */	0xb,		/* FC_HYPER */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 324 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 326 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 328 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_length */

+

+

+	/* Procedure get_installProgress */

+

+

+	/* Procedure get_installProgress */

+

+/* 330 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 332 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 336 */	NdrFcShort( 0xd ),	/* 13 */

+/* 338 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 340 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 342 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 344 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 346 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 348 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 350 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 352 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+

+	/* Parameter __MIDL__ICurrentStateUser0006 */

+

+

+	/* Parameter __MIDL__ICurrentState0006 */

+

+/* 354 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 356 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 358 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 360 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 362 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 364 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installTimeRemainingMs */

+

+

+	/* Procedure get_installTimeRemainingMs */

+

+/* 366 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 368 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 372 */	NdrFcShort( 0xe ),	/* 14 */

+/* 374 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 378 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 380 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 382 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 384 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 388 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0007 */

+

+

+	/* Parameter __MIDL__ICurrentState0007 */

+

+/* 390 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 392 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 394 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 396 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 398 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 400 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isCanceled */

+

+

+	/* Procedure get_isCanceled */

+

+/* 402 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 404 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0xf ),	/* 15 */

+/* 410 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 412 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 414 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 416 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 418 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 420 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 422 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 424 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_canceled */

+

+

+	/* Parameter is_canceled */

+

+/* 426 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 428 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 430 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 432 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 434 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 436 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_errorCode */

+

+

+	/* Procedure get_errorCode */

+

+/* 438 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 440 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 444 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 446 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 448 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 450 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 452 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 454 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 456 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 458 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 460 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0008 */

+

+

+	/* Parameter __MIDL__ICurrentState0008 */

+

+/* 462 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 464 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 466 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 468 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 470 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 472 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_extraCode1 */

+

+

+	/* Procedure get_extraCode1 */

+

+/* 474 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 476 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 480 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 482 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 486 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 488 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 490 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 492 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 494 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 496 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0009 */

+

+

+	/* Parameter __MIDL__ICurrentState0009 */

+

+/* 498 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 500 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 502 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 504 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 506 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 508 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_completionMessage */

+

+

+	/* Procedure get_completionMessage */

+

+/* 510 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 512 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 516 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 518 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 522 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 524 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 526 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 528 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 530 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 532 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0010 */

+

+

+	/* Parameter __MIDL__ICurrentState0010 */

+

+/* 534 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 536 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 538 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 540 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 542 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 544 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultCode */

+

+

+	/* Procedure get_installerResultCode */

+

+/* 546 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 548 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 552 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 554 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 556 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 558 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 560 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 562 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 564 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 566 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 568 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0011 */

+

+

+	/* Parameter __MIDL__ICurrentState0011 */

+

+/* 570 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 572 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 574 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 576 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 578 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 580 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_installerResultExtraCode1 */

+

+

+	/* Procedure get_installerResultExtraCode1 */

+

+/* 582 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 584 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 588 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 590 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 594 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 596 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 598 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 600 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 602 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 604 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0012 */

+

+

+	/* Parameter __MIDL__ICurrentState0012 */

+

+/* 606 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 608 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 610 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 612 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 614 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 616 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+

+	/* Procedure get_postInstallLaunchCommandLine */

+

+/* 618 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 620 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 624 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 626 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 628 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 630 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 632 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 634 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 636 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 638 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 640 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0013 */

+

+

+	/* Parameter __MIDL__ICurrentState0013 */

+

+/* 642 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 644 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 646 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 648 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 650 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 652 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallUrl */

+

+

+	/* Procedure get_postInstallUrl */

+

+/* 654 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 656 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 660 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 662 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 664 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 666 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 668 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 670 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 672 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 674 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 676 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0014 */

+

+

+	/* Parameter __MIDL__ICurrentState0014 */

+

+/* 678 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 680 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 682 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 684 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 686 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 688 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_postInstallAction */

+

+

+	/* Procedure get_postInstallAction */

+

+/* 690 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 692 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 696 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 698 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 700 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 702 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 704 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 706 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 708 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 712 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__ICurrentStateUser0015 */

+

+

+	/* Parameter __MIDL__ICurrentState0015 */

+

+/* 714 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 716 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 718 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 720 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 722 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 724 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createAppBundleWeb */

+

+

+	/* Procedure createAppBundleWeb */

+

+/* 726 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 728 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 732 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 734 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 736 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 738 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 740 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 742 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 748 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_bundle_web */

+

+

+	/* Parameter app_bundle_web */

+

+/* 750 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 752 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 754 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 756 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 758 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 760 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createApp */

+

+

+	/* Procedure createApp */

+

+/* 762 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 764 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 768 */	NdrFcShort( 0x7 ),	/* 7 */

+/* 770 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 774 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 776 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x5,		/* 5 */

+/* 778 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 780 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 782 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 784 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_guid */

+

+

+	/* Parameter app_guid */

+

+/* 786 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 788 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 790 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter brand_code */

+

+

+	/* Parameter brand_code */

+

+/* 792 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 794 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 796 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter language */

+

+

+	/* Parameter language */

+

+/* 798 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 800 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 802 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter ap */

+

+

+	/* Parameter ap */

+

+/* 804 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 806 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 808 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 810 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 812 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 814 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure createInstalledApp */

+

+

+	/* Procedure createInstalledApp */

+

+/* 816 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 818 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 822 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 824 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 828 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 830 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 832 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 834 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 836 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 838 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 840 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 842 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 844 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 846 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 848 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 850 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure refreshPolicies */

+

+

+	/* Procedure createAllInstalledApps */

+

+

+	/* Procedure createAllInstalledApps */

+

+/* 852 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 854 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 858 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 860 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 864 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 866 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 868 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 870 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 872 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 874 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 876 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 878 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 880 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_conflictSource */

+

+

+	/* Procedure get_displayLanguage */

+

+

+	/* Procedure get_displayLanguage */

+

+/* 882 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 884 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 888 */	NdrFcShort( 0xa ),	/* 10 */

+/* 890 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 892 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 894 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 896 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 898 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 900 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 902 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 904 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0002 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0002 */

+

+

+	/* Parameter __MIDL__IAppBundleWebUser0000 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0000 */

+

+/* 906 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 908 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 910 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 912 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 914 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 916 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_displayLanguage */

+

+

+	/* Procedure put_displayLanguage */

+

+/* 918 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 920 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 924 */	NdrFcShort( 0xb ),	/* 11 */

+/* 926 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 928 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 930 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 932 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 934 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 936 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 938 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 940 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppBundleWebUser0001 */

+

+

+	/* Parameter __MIDL__IAppBundleWeb0001 */

+

+/* 942 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 944 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 946 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 948 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 950 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 952 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_parentHWND */

+

+

+	/* Procedure put_parentHWND */

+

+/* 954 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 956 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 960 */	NdrFcShort( 0xc ),	/* 12 */

+/* 962 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 964 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 966 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 968 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 970 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 972 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 974 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 976 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter hwnd */

+

+

+	/* Parameter hwnd */

+

+/* 978 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 980 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 982 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 984 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 986 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 988 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_appWeb */

+

+

+	/* Procedure get_appWeb */

+

+/* 990 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 992 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 996 */	NdrFcShort( 0xe ),	/* 14 */

+/* 998 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1000 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1002 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1004 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1006 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1008 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1010 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1012 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter index */

+

+

+	/* Parameter index */

+

+/* 1014 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 1016 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1018 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter app_web */

+

+

+	/* Parameter app_web */

+

+/* 1020 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1022 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1024 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1026 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1028 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1030 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure initialize */

+

+

+	/* Procedure initialize */

+

+/* 1032 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1034 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1038 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1040 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1042 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1044 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1046 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1048 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1050 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1052 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1054 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1056 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1058 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1060 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure checkForUpdate */

+

+

+	/* Procedure checkForUpdate */

+

+/* 1062 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1064 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1068 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1070 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1072 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1074 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1076 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1078 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1080 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1082 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1084 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1086 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1088 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1090 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure download */

+

+

+	/* Procedure download */

+

+/* 1092 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1094 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1098 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 1100 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1104 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1106 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1108 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1110 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1112 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1114 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1116 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1118 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1120 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure install */

+

+

+	/* Procedure install */

+

+/* 1122 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1124 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1128 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 1130 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1132 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1134 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1136 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1138 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1140 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1142 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1144 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1146 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1148 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1150 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure pause */

+

+

+	/* Procedure pause */

+

+/* 1152 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1154 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1158 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 1160 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1162 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1164 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1166 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1168 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1172 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1174 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1176 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1178 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1180 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure resume */

+

+

+	/* Procedure resume */

+

+/* 1182 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1184 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1188 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 1190 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1192 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1194 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1196 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1198 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1200 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1202 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1204 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1206 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1208 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1210 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1212 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1214 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1218 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 1220 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1222 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1224 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1226 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1228 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1230 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1232 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1234 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1236 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1238 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1240 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure downloadPackage */

+

+

+	/* Procedure downloadPackage */

+

+/* 1242 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1244 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1248 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 1250 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1254 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1256 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1258 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1260 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1262 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1264 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1266 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1268 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1270 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter package_name */

+

+

+	/* Parameter package_name */

+

+/* 1272 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1274 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1276 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1278 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1280 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1282 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1284 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1286 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1290 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 1292 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1294 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1296 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1298 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1300 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1302 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1304 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1306 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1308 */	NdrFcShort( 0x4113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=16 */

+/* 1310 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1312 */	NdrFcShort( 0x430 ),	/* Type Offset=1072 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1314 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1316 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1318 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentVersionWeb */

+

+

+	/* Procedure get_currentVersionWeb */

+

+/* 1320 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1322 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1326 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1328 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1330 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1332 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1334 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1336 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1338 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1340 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1342 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current */

+

+

+	/* Parameter current */

+

+/* 1344 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1346 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1348 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1350 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1352 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1354 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_nextVersionWeb */

+

+

+	/* Procedure get_nextVersionWeb */

+

+/* 1356 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1358 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1362 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1364 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1366 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1368 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1370 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1372 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1374 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1376 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1378 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter next */

+

+

+	/* Parameter next */

+

+/* 1380 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1382 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1384 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1386 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1388 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1390 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_command */

+

+

+	/* Procedure get_command */

+

+/* 1392 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1394 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1398 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1400 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1402 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1404 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1406 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1408 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1412 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1414 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter command_id */

+

+

+	/* Parameter command_id */

+

+/* 1416 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1418 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1420 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter command */

+

+

+	/* Parameter command */

+

+/* 1422 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1424 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1426 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1428 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1430 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1432 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure cancel */

+

+

+	/* Procedure cancel */

+

+/* 1434 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1436 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1440 */	NdrFcShort( 0xb ),	/* 11 */

+/* 1442 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1444 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1446 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1448 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1450 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1452 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1454 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1456 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1458 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1460 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1462 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_currentState */

+

+

+	/* Procedure get_currentState */

+

+/* 1464 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1466 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1470 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1472 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1474 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1476 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1478 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1480 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1482 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1484 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1486 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter current_state */

+

+

+	/* Parameter current_state */

+

+/* 1488 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 1490 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1492 */	NdrFcShort( 0x2e ),	/* Type Offset=46 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1494 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1496 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1498 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure launch */

+

+

+	/* Procedure launch */

+

+/* 1500 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1502 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1506 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1508 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1510 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1512 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1514 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1516 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1518 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1522 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1524 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1526 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1528 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure uninstall */

+

+

+	/* Procedure uninstall */

+

+/* 1530 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1532 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1536 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1538 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1540 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1542 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1544 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x1,		/* 1 */

+/* 1546 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1548 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1552 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1554 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1556 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1558 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_serverInstallDataIndex */

+

+

+	/* Procedure get_serverInstallDataIndex */

+

+/* 1560 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1562 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1566 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1568 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1570 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1572 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1574 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1576 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1578 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1580 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1582 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppWebUser0001 */

+

+

+	/* Parameter __MIDL__IAppWeb0001 */

+

+/* 1584 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1586 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1588 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1590 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1592 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1594 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure put_serverInstallDataIndex */

+

+

+	/* Procedure put_serverInstallDataIndex */

+

+/* 1596 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1598 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1602 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1604 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1606 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1608 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1610 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1612 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1614 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1616 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1618 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IAppWebUser0002 */

+

+

+	/* Parameter __MIDL__IAppWeb0002 */

+

+/* 1620 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1622 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1624 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1626 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1628 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1630 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+

+	/* Procedure get_output */

+

+

+	/* Procedure get_output */

+

+/* 1632 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1634 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1638 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1640 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1644 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1646 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 1648 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 1650 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1652 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1654 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter pref */

+

+

+	/* Parameter pref */

+

+

+	/* Parameter __MIDL__IAppCommandWebUser0002 */

+

+

+	/* Parameter __MIDL__IAppCommandWeb0002 */

+

+/* 1656 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1658 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1660 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1662 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1664 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1666 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure execute */

+

+

+	/* Procedure execute */

+

+/* 1668 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1670 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1674 */	NdrFcShort( 0xa ),	/* 10 */

+/* 1676 */	NdrFcShort( 0x98 ),	/* x86 Stack size/offset = 152 */

+/* 1678 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1680 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1682 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0xa,		/* 10 */

+/* 1684 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1686 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1688 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1690 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter substitution1 */

+

+

+	/* Parameter substitution1 */

+

+/* 1692 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1694 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1696 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution2 */

+

+

+	/* Parameter substitution2 */

+

+/* 1698 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1700 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1702 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution3 */

+

+

+	/* Parameter substitution3 */

+

+/* 1704 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1706 */	NdrFcShort( 0x24 ),	/* x86 Stack size/offset = 36 */

+/* 1708 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution4 */

+

+

+	/* Parameter substitution4 */

+

+/* 1710 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1712 */	NdrFcShort( 0x34 ),	/* x86 Stack size/offset = 52 */

+/* 1714 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution5 */

+

+

+	/* Parameter substitution5 */

+

+/* 1716 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1718 */	NdrFcShort( 0x44 ),	/* x86 Stack size/offset = 68 */

+/* 1720 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution6 */

+

+

+	/* Parameter substitution6 */

+

+/* 1722 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1724 */	NdrFcShort( 0x54 ),	/* x86 Stack size/offset = 84 */

+/* 1726 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution7 */

+

+

+	/* Parameter substitution7 */

+

+/* 1728 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1730 */	NdrFcShort( 0x64 ),	/* x86 Stack size/offset = 100 */

+/* 1732 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution8 */

+

+

+	/* Parameter substitution8 */

+

+/* 1734 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1736 */	NdrFcShort( 0x74 ),	/* x86 Stack size/offset = 116 */

+/* 1738 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Parameter substitution9 */

+

+

+	/* Parameter substitution9 */

+

+/* 1740 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1742 */	NdrFcShort( 0x84 ),	/* x86 Stack size/offset = 132 */

+/* 1744 */	NdrFcShort( 0x43e ),	/* Type Offset=1086 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1746 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1748 */	NdrFcShort( 0x94 ),	/* x86 Stack size/offset = 148 */

+/* 1750 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 1752 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1754 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1758 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1760 */	NdrFcShort( 0x18 ),	/* x86 Stack size/offset = 24 */

+/* 1762 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1764 */	NdrFcShort( 0x76 ),	/* 118 */

+/* 1766 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x5,		/* 5 */

+/* 1768 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1770 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1772 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1774 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter start_hour */

+

+

+	/* Parameter start_hour */

+

+/* 1776 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1778 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1780 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter start_min */

+

+

+	/* Parameter start_min */

+

+/* 1782 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1784 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1786 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter duration_min */

+

+

+	/* Parameter duration_min */

+

+/* 1788 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1790 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1792 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Parameter are_updates_suppressed */

+

+

+	/* Parameter are_updates_suppressed */

+

+/* 1794 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1796 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1798 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1800 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1802 */	NdrFcShort( 0x14 ),	/* x86 Stack size/offset = 20 */

+/* 1804 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 1806 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1808 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1812 */	NdrFcShort( 0xc ),	/* 12 */

+/* 1814 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1816 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1818 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1820 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1822 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1824 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1826 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1828 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1830 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1832 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1834 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 1836 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1838 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1840 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1842 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1844 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1846 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 1848 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1850 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1854 */	NdrFcShort( 0xd ),	/* 13 */

+/* 1856 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1858 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1860 */	NdrFcShort( 0x24 ),	/* 36 */

+/* 1862 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1864 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1866 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1868 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1870 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1872 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1874 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1876 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter policy */

+

+

+	/* Parameter policy */

+

+/* 1878 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1880 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1882 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1884 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1886 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1888 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 1890 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1892 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1896 */	NdrFcShort( 0xe ),	/* 14 */

+/* 1898 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1900 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1902 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 1904 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1906 */	0x8,		/* 8 */

+			0x7,		/* Ext Flags:  new corr desc, clt corr check, srv corr check, */

+/* 1908 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1910 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1912 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1914 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1916 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1918 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter prefix */

+

+

+	/* Parameter prefix */

+

+/* 1920 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 1922 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1924 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1926 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1928 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1930 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 1932 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1934 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1938 */	NdrFcShort( 0xf ),	/* 15 */

+/* 1940 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 1942 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1944 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 1946 */	0x46,		/* Oi2 Flags:  clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 1948 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 1950 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1952 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1954 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+

+	/* Parameter app_id */

+

+/* 1956 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 1958 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 1960 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter rollback_allowed */

+

+

+	/* Parameter rollback_allowed */

+

+/* 1962 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 1964 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 1966 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 1968 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 1970 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1972 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_hasConflict */

+

+

+	/* Procedure get_hasConflict */

+

+/* 1974 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 1976 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 1980 */	NdrFcShort( 0x9 ),	/* 9 */

+/* 1982 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 1984 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1986 */	NdrFcShort( 0x22 ),	/* 34 */

+/* 1988 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 1990 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 1992 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1994 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1996 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter has_conflict */

+

+

+	/* Parameter has_conflict */

+

+/* 1998 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2000 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2002 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2004 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2006 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2008 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_conflictValue */

+

+

+	/* Procedure get_conflictValue */

+

+/* 2010 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2012 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2016 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2018 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2020 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2022 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2024 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2026 */	0x8,		/* 8 */

+			0x3,		/* Ext Flags:  new corr desc, clt corr check, */

+/* 2028 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2030 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2032 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter __MIDL__IPolicyStatusValueUser0003 */

+

+

+	/* Parameter __MIDL__IPolicyStatusValue0003 */

+

+/* 2034 */	NdrFcShort( 0x2113 ),	/* Flags:  must size, must free, out, simple ref, srv alloc size=8 */

+/* 2036 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2038 */	NdrFcShort( 0x20 ),	/* Type Offset=32 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2040 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2042 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2044 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckedTime */

+

+

+	/* Procedure get_lastCheckedTime */

+

+/* 2046 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2048 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2052 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2054 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2056 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2058 */	NdrFcShort( 0x2c ),	/* 44 */

+/* 2060 */	0x44,		/* Oi2 Flags:  has return, has ext, */

+			0x2,		/* 2 */

+/* 2062 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2064 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2066 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2068 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter last_checked */

+

+

+	/* Parameter last_checked */

+

+/* 2070 */	NdrFcShort( 0x2150 ),	/* Flags:  out, base type, simple ref, srv alloc size=8 */

+/* 2072 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2074 */	0xc,		/* FC_DOUBLE */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+

+	/* Return value */

+

+/* 2076 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2078 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2080 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2082 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2084 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2088 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2090 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2092 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2094 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2096 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2098 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2100 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2102 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2104 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2106 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2108 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2110 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2112 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2114 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2116 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2118 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2120 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2124 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2126 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2128 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2130 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2132 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2134 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2136 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2138 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2140 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2142 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2144 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2146 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2148 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2150 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2152 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2154 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2156 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2158 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2160 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2162 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2166 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2168 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2170 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2172 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2174 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2176 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2178 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2180 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2182 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2184 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2186 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2188 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2190 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2192 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2194 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2196 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2198 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2202 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2204 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2206 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2208 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2210 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2212 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2214 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2216 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2218 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2220 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2222 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2224 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2226 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2228 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2230 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2232 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2234 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2238 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2240 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2242 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2244 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2246 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2248 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2250 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2252 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2254 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2256 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2258 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2260 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2262 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2264 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2266 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2268 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2270 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2274 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2276 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2278 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2280 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2282 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2284 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2286 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2288 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2290 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2292 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2294 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2296 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2298 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2300 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2302 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2304 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2306 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2310 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2312 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2314 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2316 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2318 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2320 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2322 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2324 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2326 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2328 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2330 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2332 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2334 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2336 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2338 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2340 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2342 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2346 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2348 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2350 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2352 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2354 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2356 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2358 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2360 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2362 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2364 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2366 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2368 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2370 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2372 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2374 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2376 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2378 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2382 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2384 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2386 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2388 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2390 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2392 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2394 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2396 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2398 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2400 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2402 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2404 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2406 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2408 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2410 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2412 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2414 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2416 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2418 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2420 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2424 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2426 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2428 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2430 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2432 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2434 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2436 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2438 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2440 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2442 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2444 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2446 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2448 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2450 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2452 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2454 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2456 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2458 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2460 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2462 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2466 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2468 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2470 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2472 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2474 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2476 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2478 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2480 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2482 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2484 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2486 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2488 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2490 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2492 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2494 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2496 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2498 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2500 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 2502 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2504 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2508 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 2510 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2512 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2514 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2516 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2518 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2520 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2522 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2524 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2526 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2528 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2530 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2532 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2534 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2536 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2538 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2540 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2542 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 2544 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2546 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2550 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 2552 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2554 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2556 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2558 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2560 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2562 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2564 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2566 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2568 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2570 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2572 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2574 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2576 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2578 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 2580 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2582 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2584 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_lastCheckPeriodMinutes */

+

+/* 2586 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2588 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2592 */	NdrFcShort( 0xa ),	/* 10 */

+/* 2594 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2596 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2598 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2600 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2602 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2604 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2606 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2608 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2610 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2612 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2614 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2616 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2618 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2620 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_updatesSuppressedTimes */

+

+/* 2622 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2624 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2628 */	NdrFcShort( 0xb ),	/* 11 */

+/* 2630 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2632 */	NdrFcShort( 0x1a ),	/* 26 */

+/* 2634 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2636 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2638 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2640 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2642 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2644 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2646 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2648 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2650 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Parameter are_updates_suppressed */

+

+/* 2652 */	NdrFcShort( 0x148 ),	/* Flags:  in, base type, simple ref, */

+/* 2654 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2656 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Return value */

+

+/* 2658 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2660 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2662 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_downloadPreferenceGroupPolicy */

+

+/* 2664 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2666 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2670 */	NdrFcShort( 0xc ),	/* 12 */

+/* 2672 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2674 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2676 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2678 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2680 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2682 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2684 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2686 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2688 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2690 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2692 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2694 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2696 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2698 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheSizeLimitMBytes */

+

+/* 2700 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2702 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2706 */	NdrFcShort( 0xd ),	/* 13 */

+/* 2708 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2710 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2712 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2714 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2716 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2718 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2720 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2722 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2724 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2726 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2728 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2730 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2732 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2734 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_packageCacheExpirationTimeDays */

+

+/* 2736 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2738 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2742 */	NdrFcShort( 0xe ),	/* 14 */

+/* 2744 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2746 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2748 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2750 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2752 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2754 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2756 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2758 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2760 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2762 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2764 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2766 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2768 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2770 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyMode */

+

+/* 2772 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2774 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2778 */	NdrFcShort( 0xf ),	/* 15 */

+/* 2780 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2782 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2784 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2786 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2788 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2790 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2792 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2794 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2796 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2798 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2800 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2802 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2804 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2806 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyPacUrl */

+

+/* 2808 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2810 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2814 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 2816 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2818 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2820 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2822 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2824 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2826 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2828 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2830 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2832 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2834 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2836 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2838 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2840 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2842 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_proxyServer */

+

+/* 2844 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2846 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2850 */	NdrFcShort( 0x11 ),	/* 17 */

+/* 2852 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2854 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2856 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2858 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x2,		/* 2 */

+/* 2860 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 2862 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2864 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2866 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter value */

+

+/* 2868 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2870 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2872 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2874 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2876 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2878 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppInstalls */

+

+/* 2880 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2882 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2886 */	NdrFcShort( 0x12 ),	/* 18 */

+/* 2888 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2890 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2892 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2894 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2896 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2898 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2900 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2902 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2904 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2906 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2908 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2910 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2912 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2914 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2916 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2918 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2920 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_effectivePolicyForAppUpdates */

+

+/* 2922 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2924 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2928 */	NdrFcShort( 0x13 ),	/* 19 */

+/* 2930 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2932 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2934 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2936 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2938 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2940 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2942 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2944 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2946 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2948 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2950 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2952 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2954 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2956 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 2958 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 2960 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 2962 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetVersionPrefix */

+

+/* 2964 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 2966 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 2970 */	NdrFcShort( 0x14 ),	/* 20 */

+/* 2972 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 2974 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2976 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 2978 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 2980 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 2982 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 2984 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 2986 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 2988 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 2990 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 2992 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 2994 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 2996 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 2998 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 3000 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3002 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3004 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_isRollbackToTargetVersionAllowed */

+

+/* 3006 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3008 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3012 */	NdrFcShort( 0x15 ),	/* 21 */

+/* 3014 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3016 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3018 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3020 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3022 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3024 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3026 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3028 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3030 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3032 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3034 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3036 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3038 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3040 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 3042 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3044 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3046 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_targetChannel */

+

+/* 3048 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3050 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3054 */	NdrFcShort( 0x16 ),	/* 22 */

+/* 3056 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3058 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3060 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3062 */	0x47,		/* Oi2 Flags:  srv must size, clt must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3064 */	0x8,		/* 8 */

+			0x5,		/* Ext Flags:  new corr desc, srv corr check, */

+/* 3066 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3068 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 3070 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter app_id */

+

+/* 3072 */	NdrFcShort( 0x8b ),	/* Flags:  must size, must free, in, by val, */

+/* 3074 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3076 */	NdrFcShort( 0x50 ),	/* Type Offset=80 */

+

+	/* Parameter value */

+

+/* 3078 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3080 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3082 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 3084 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3086 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3088 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3090 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3092 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3096 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3098 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3100 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3102 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3104 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3106 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3108 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3110 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3112 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_machine */

+

+/* 3114 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3116 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3118 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3120 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3122 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3124 */	NdrFcShort( 0x44c ),	/* Type Offset=1100 */

+

+	/* Return value */

+

+/* 3126 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3128 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3130 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+	/* Procedure get_forceInstallApps */

+

+/* 3132 */	0x33,		/* FC_AUTO_HANDLE */

+			0x6c,		/* Old Flags:  object, Oi2 */

+/* 3134 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 3138 */	NdrFcShort( 0x17 ),	/* 23 */

+/* 3140 */	NdrFcShort( 0x10 ),	/* x86 Stack size/offset = 16 */

+/* 3142 */	NdrFcShort( 0x6 ),	/* 6 */

+/* 3144 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 3146 */	0x45,		/* Oi2 Flags:  srv must size, has return, has ext, */

+			0x3,		/* 3 */

+/* 3148 */	0x8,		/* 8 */

+			0x1,		/* Ext Flags:  new corr desc, */

+/* 3150 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3152 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 3154 */	NdrFcShort( 0x0 ),	/* 0 */

+

+	/* Parameter is_machine */

+

+/* 3156 */	NdrFcShort( 0x48 ),	/* Flags:  in, base type, */

+/* 3158 */	NdrFcShort( 0x4 ),	/* x86 Stack size/offset = 4 */

+/* 3160 */	0x6,		/* FC_SHORT */

+			0x0,		/* 0 */

+

+	/* Parameter value */

+

+/* 3162 */	NdrFcShort( 0x13 ),	/* Flags:  must size, must free, out, */

+/* 3164 */	NdrFcShort( 0x8 ),	/* x86 Stack size/offset = 8 */

+/* 3166 */	NdrFcShort( 0x466 ),	/* Type Offset=1126 */

+

+	/* Return value */

+

+/* 3168 */	NdrFcShort( 0x70 ),	/* Flags:  out, return, base type, */

+/* 3170 */	NdrFcShort( 0xc ),	/* x86 Stack size/offset = 12 */

+/* 3172 */	0x8,		/* FC_LONG */

+			0x0,		/* 0 */

+

+			0x0

+        }

+    };

+

+static const updater_legacy_idl_user_MIDL_TYPE_FORMAT_STRING updater_legacy_idl_user__MIDL_TypeFormatString =

+    {

+        0,

+        {

+			NdrFcShort( 0x0 ),	/* 0 */

+/*  2 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/*  4 */	NdrFcShort( 0x1c ),	/* Offset= 28 (32) */

+/*  6 */	

+			0x13, 0x0,	/* FC_OP */

+/*  8 */	NdrFcShort( 0xe ),	/* Offset= 14 (22) */

+/* 10 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 12 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 14 */	0x9,		/* Corr desc: FC_ULONG */

+			0x0,		/*  */

+/* 16 */	NdrFcShort( 0xfffc ),	/* -4 */

+/* 18 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 20 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 22 */	

+			0x17,		/* FC_CSTRUCT */

+			0x3,		/* 3 */

+/* 24 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 26 */	NdrFcShort( 0xfff0 ),	/* Offset= -16 (10) */

+/* 28 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 30 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 32 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 34 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 36 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 38 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 40 */	NdrFcShort( 0xffde ),	/* Offset= -34 (6) */

+/* 42 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 44 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 46 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 48 */	NdrFcShort( 0x2 ),	/* Offset= 2 (50) */

+/* 50 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 52 */	NdrFcLong( 0x20400 ),	/* 132096 */

+/* 56 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 58 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 60 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 62 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 64 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 66 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 68 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 70 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 72 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 74 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 76 */	

+			0x12, 0x0,	/* FC_UP */

+/* 78 */	NdrFcShort( 0xffc8 ),	/* Offset= -56 (22) */

+/* 80 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 82 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 84 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 86 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 88 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (76) */

+/* 90 */	

+			0x11, 0x4,	/* FC_RP [alloced_on_stack] */

+/* 92 */	NdrFcShort( 0x3d4 ),	/* Offset= 980 (1072) */

+/* 94 */	

+			0x13, 0x0,	/* FC_OP */

+/* 96 */	NdrFcShort( 0x3bc ),	/* Offset= 956 (1052) */

+/* 98 */	

+			0x2b,		/* FC_NON_ENCAPSULATED_UNION */

+			0x9,		/* FC_ULONG */

+/* 100 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 102 */	NdrFcShort( 0xfff8 ),	/* -8 */

+/* 104 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 106 */	NdrFcShort( 0x2 ),	/* Offset= 2 (108) */

+/* 108 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 110 */	NdrFcShort( 0x2f ),	/* 47 */

+/* 112 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 116 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 118 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 122 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 124 */	NdrFcLong( 0x11 ),	/* 17 */

+/* 128 */	NdrFcShort( 0x8001 ),	/* Simple arm type: FC_BYTE */

+/* 130 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 134 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 136 */	NdrFcLong( 0x4 ),	/* 4 */

+/* 140 */	NdrFcShort( 0x800a ),	/* Simple arm type: FC_FLOAT */

+/* 142 */	NdrFcLong( 0x5 ),	/* 5 */

+/* 146 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 148 */	NdrFcLong( 0xb ),	/* 11 */

+/* 152 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 154 */	NdrFcLong( 0xa ),	/* 10 */

+/* 158 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 160 */	NdrFcLong( 0x6 ),	/* 6 */

+/* 164 */	NdrFcShort( 0xe8 ),	/* Offset= 232 (396) */

+/* 166 */	NdrFcLong( 0x7 ),	/* 7 */

+/* 170 */	NdrFcShort( 0x800c ),	/* Simple arm type: FC_DOUBLE */

+/* 172 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 176 */	NdrFcShort( 0xff56 ),	/* Offset= -170 (6) */

+/* 178 */	NdrFcLong( 0xd ),	/* 13 */

+/* 182 */	NdrFcShort( 0xdc ),	/* Offset= 220 (402) */

+/* 184 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 188 */	NdrFcShort( 0xff76 ),	/* Offset= -138 (50) */

+/* 190 */	NdrFcLong( 0x2000 ),	/* 8192 */

+/* 194 */	NdrFcShort( 0xe2 ),	/* Offset= 226 (420) */

+/* 196 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 200 */	NdrFcShort( 0x30a ),	/* Offset= 778 (978) */

+/* 202 */	NdrFcLong( 0x4024 ),	/* 16420 */

+/* 206 */	NdrFcShort( 0x304 ),	/* Offset= 772 (978) */

+/* 208 */	NdrFcLong( 0x4011 ),	/* 16401 */

+/* 212 */	NdrFcShort( 0x302 ),	/* Offset= 770 (982) */

+/* 214 */	NdrFcLong( 0x4002 ),	/* 16386 */

+/* 218 */	NdrFcShort( 0x300 ),	/* Offset= 768 (986) */

+/* 220 */	NdrFcLong( 0x4003 ),	/* 16387 */

+/* 224 */	NdrFcShort( 0x2fe ),	/* Offset= 766 (990) */

+/* 226 */	NdrFcLong( 0x4014 ),	/* 16404 */

+/* 230 */	NdrFcShort( 0x2fc ),	/* Offset= 764 (994) */

+/* 232 */	NdrFcLong( 0x4004 ),	/* 16388 */

+/* 236 */	NdrFcShort( 0x2fa ),	/* Offset= 762 (998) */

+/* 238 */	NdrFcLong( 0x4005 ),	/* 16389 */

+/* 242 */	NdrFcShort( 0x2f8 ),	/* Offset= 760 (1002) */

+/* 244 */	NdrFcLong( 0x400b ),	/* 16395 */

+/* 248 */	NdrFcShort( 0x2e2 ),	/* Offset= 738 (986) */

+/* 250 */	NdrFcLong( 0x400a ),	/* 16394 */

+/* 254 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (990) */

+/* 256 */	NdrFcLong( 0x4006 ),	/* 16390 */

+/* 260 */	NdrFcShort( 0x2ea ),	/* Offset= 746 (1006) */

+/* 262 */	NdrFcLong( 0x4007 ),	/* 16391 */

+/* 266 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (1002) */

+/* 268 */	NdrFcLong( 0x4008 ),	/* 16392 */

+/* 272 */	NdrFcShort( 0x2e2 ),	/* Offset= 738 (1010) */

+/* 274 */	NdrFcLong( 0x400d ),	/* 16397 */

+/* 278 */	NdrFcShort( 0x2e0 ),	/* Offset= 736 (1014) */

+/* 280 */	NdrFcLong( 0x4009 ),	/* 16393 */

+/* 284 */	NdrFcShort( 0x2de ),	/* Offset= 734 (1018) */

+/* 286 */	NdrFcLong( 0x6000 ),	/* 24576 */

+/* 290 */	NdrFcShort( 0x2dc ),	/* Offset= 732 (1022) */

+/* 292 */	NdrFcLong( 0x400c ),	/* 16396 */

+/* 296 */	NdrFcShort( 0x2da ),	/* Offset= 730 (1026) */

+/* 298 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 302 */	NdrFcShort( 0x8002 ),	/* Simple arm type: FC_CHAR */

+/* 304 */	NdrFcLong( 0x12 ),	/* 18 */

+/* 308 */	NdrFcShort( 0x8006 ),	/* Simple arm type: FC_SHORT */

+/* 310 */	NdrFcLong( 0x13 ),	/* 19 */

+/* 314 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 316 */	NdrFcLong( 0x15 ),	/* 21 */

+/* 320 */	NdrFcShort( 0x800b ),	/* Simple arm type: FC_HYPER */

+/* 322 */	NdrFcLong( 0x16 ),	/* 22 */

+/* 326 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 328 */	NdrFcLong( 0x17 ),	/* 23 */

+/* 332 */	NdrFcShort( 0x8008 ),	/* Simple arm type: FC_LONG */

+/* 334 */	NdrFcLong( 0xe ),	/* 14 */

+/* 338 */	NdrFcShort( 0x2b8 ),	/* Offset= 696 (1034) */

+/* 340 */	NdrFcLong( 0x400e ),	/* 16398 */

+/* 344 */	NdrFcShort( 0x2bc ),	/* Offset= 700 (1044) */

+/* 346 */	NdrFcLong( 0x4010 ),	/* 16400 */

+/* 350 */	NdrFcShort( 0x2ba ),	/* Offset= 698 (1048) */

+/* 352 */	NdrFcLong( 0x4012 ),	/* 16402 */

+/* 356 */	NdrFcShort( 0x276 ),	/* Offset= 630 (986) */

+/* 358 */	NdrFcLong( 0x4013 ),	/* 16403 */

+/* 362 */	NdrFcShort( 0x274 ),	/* Offset= 628 (990) */

+/* 364 */	NdrFcLong( 0x4015 ),	/* 16405 */

+/* 368 */	NdrFcShort( 0x272 ),	/* Offset= 626 (994) */

+/* 370 */	NdrFcLong( 0x4016 ),	/* 16406 */

+/* 374 */	NdrFcShort( 0x268 ),	/* Offset= 616 (990) */

+/* 376 */	NdrFcLong( 0x4017 ),	/* 16407 */

+/* 380 */	NdrFcShort( 0x262 ),	/* Offset= 610 (990) */

+/* 382 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 386 */	NdrFcShort( 0x0 ),	/* Offset= 0 (386) */

+/* 388 */	NdrFcLong( 0x1 ),	/* 1 */

+/* 392 */	NdrFcShort( 0x0 ),	/* Offset= 0 (392) */

+/* 394 */	NdrFcShort( 0xffff ),	/* Offset= -1 (393) */

+/* 396 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 398 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 400 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 402 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 404 */	NdrFcLong( 0x0 ),	/* 0 */

+/* 408 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 410 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 412 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 414 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 416 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 418 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 420 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 422 */	NdrFcShort( 0x2 ),	/* Offset= 2 (424) */

+/* 424 */	

+			0x13, 0x0,	/* FC_OP */

+/* 426 */	NdrFcShort( 0x216 ),	/* Offset= 534 (960) */

+/* 428 */	

+			0x2a,		/* FC_ENCAPSULATED_UNION */

+			0x49,		/* 73 */

+/* 430 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 432 */	NdrFcShort( 0xa ),	/* 10 */

+/* 434 */	NdrFcLong( 0x8 ),	/* 8 */

+/* 438 */	NdrFcShort( 0x5a ),	/* Offset= 90 (528) */

+/* 440 */	NdrFcLong( 0xd ),	/* 13 */

+/* 444 */	NdrFcShort( 0x7e ),	/* Offset= 126 (570) */

+/* 446 */	NdrFcLong( 0x9 ),	/* 9 */

+/* 450 */	NdrFcShort( 0x9e ),	/* Offset= 158 (608) */

+/* 452 */	NdrFcLong( 0xc ),	/* 12 */

+/* 456 */	NdrFcShort( 0xc8 ),	/* Offset= 200 (656) */

+/* 458 */	NdrFcLong( 0x24 ),	/* 36 */

+/* 462 */	NdrFcShort( 0x124 ),	/* Offset= 292 (754) */

+/* 464 */	NdrFcLong( 0x800d ),	/* 32781 */

+/* 468 */	NdrFcShort( 0x140 ),	/* Offset= 320 (788) */

+/* 470 */	NdrFcLong( 0x10 ),	/* 16 */

+/* 474 */	NdrFcShort( 0x15a ),	/* Offset= 346 (820) */

+/* 476 */	NdrFcLong( 0x2 ),	/* 2 */

+/* 480 */	NdrFcShort( 0x174 ),	/* Offset= 372 (852) */

+/* 482 */	NdrFcLong( 0x3 ),	/* 3 */

+/* 486 */	NdrFcShort( 0x18e ),	/* Offset= 398 (884) */

+/* 488 */	NdrFcLong( 0x14 ),	/* 20 */

+/* 492 */	NdrFcShort( 0x1a8 ),	/* Offset= 424 (916) */

+/* 494 */	NdrFcShort( 0xffff ),	/* Offset= -1 (493) */

+/* 496 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 498 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 500 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 502 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 504 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 506 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 508 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 510 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 512 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 514 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 516 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 518 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 520 */	0x13, 0x0,	/* FC_OP */

+/* 522 */	NdrFcShort( 0xfe0c ),	/* Offset= -500 (22) */

+/* 524 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 526 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 528 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 530 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 532 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 534 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 536 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 538 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 540 */	0x11, 0x0,	/* FC_RP */

+/* 542 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (496) */

+/* 544 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 546 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 548 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 550 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 552 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 554 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 556 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 558 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 562 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 564 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 566 */	NdrFcShort( 0xff5c ),	/* Offset= -164 (402) */

+/* 568 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 570 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 572 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 574 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 576 */	NdrFcShort( 0x6 ),	/* Offset= 6 (582) */

+/* 578 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 580 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 582 */	

+			0x11, 0x0,	/* FC_RP */

+/* 584 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (548) */

+/* 586 */	

+			0x21,		/* FC_BOGUS_ARRAY */

+			0x3,		/* 3 */

+/* 588 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 590 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 592 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 594 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 596 */	NdrFcLong( 0xffffffff ),	/* -1 */

+/* 600 */	NdrFcShort( 0x0 ),	/* Corr flags:  */

+/* 602 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 604 */	NdrFcShort( 0xfdd6 ),	/* Offset= -554 (50) */

+/* 606 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 608 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 610 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 612 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 614 */	NdrFcShort( 0x6 ),	/* Offset= 6 (620) */

+/* 616 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 618 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 620 */	

+			0x11, 0x0,	/* FC_RP */

+/* 622 */	NdrFcShort( 0xffdc ),	/* Offset= -36 (586) */

+/* 624 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 626 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 628 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 630 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 632 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 634 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 636 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 638 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 640 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 642 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 644 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 646 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 648 */	0x13, 0x0,	/* FC_OP */

+/* 650 */	NdrFcShort( 0x192 ),	/* Offset= 402 (1052) */

+/* 652 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 654 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 656 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 658 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 660 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 662 */	NdrFcShort( 0x6 ),	/* Offset= 6 (668) */

+/* 664 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 666 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 668 */	

+			0x11, 0x0,	/* FC_RP */

+/* 670 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (624) */

+/* 672 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 674 */	NdrFcLong( 0x2f ),	/* 47 */

+/* 678 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 680 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 682 */	0xc0,		/* 192 */

+			0x0,		/* 0 */

+/* 684 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 686 */	0x0,		/* 0 */

+			0x0,		/* 0 */

+/* 688 */	0x0,		/* 0 */

+			0x46,		/* 70 */

+/* 690 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 692 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 694 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 696 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 698 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 700 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 702 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 704 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 706 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 708 */	NdrFcShort( 0xa ),	/* Offset= 10 (718) */

+/* 710 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 712 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 714 */	NdrFcShort( 0xffd6 ),	/* Offset= -42 (672) */

+/* 716 */	0x36,		/* FC_POINTER */

+			0x5b,		/* FC_END */

+/* 718 */	

+			0x13, 0x0,	/* FC_OP */

+/* 720 */	NdrFcShort( 0xffe2 ),	/* Offset= -30 (690) */

+/* 722 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 724 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 726 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 728 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 730 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 732 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 734 */	

+			0x48,		/* FC_VARIABLE_REPEAT */

+			0x49,		/* FC_FIXED_OFFSET */

+/* 736 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 738 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 740 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 742 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 744 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 746 */	0x13, 0x0,	/* FC_OP */

+/* 748 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (702) */

+/* 750 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 752 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 754 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 756 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 758 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 760 */	NdrFcShort( 0x6 ),	/* Offset= 6 (766) */

+/* 762 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 764 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 766 */	

+			0x11, 0x0,	/* FC_RP */

+/* 768 */	NdrFcShort( 0xffd2 ),	/* Offset= -46 (722) */

+/* 770 */	

+			0x1d,		/* FC_SMFARRAY */

+			0x0,		/* 0 */

+/* 772 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 774 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 776 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 778 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 780 */	0x8,		/* FC_LONG */

+			0x6,		/* FC_SHORT */

+/* 782 */	0x6,		/* FC_SHORT */

+			0x4c,		/* FC_EMBEDDED_COMPLEX */

+/* 784 */	0x0,		/* 0 */

+			NdrFcShort( 0xfff1 ),	/* Offset= -15 (770) */

+			0x5b,		/* FC_END */

+/* 788 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 790 */	NdrFcShort( 0x18 ),	/* 24 */

+/* 792 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 794 */	NdrFcShort( 0xa ),	/* Offset= 10 (804) */

+/* 796 */	0x8,		/* FC_LONG */

+			0x36,		/* FC_POINTER */

+/* 798 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 800 */	NdrFcShort( 0xffe8 ),	/* Offset= -24 (776) */

+/* 802 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 804 */	

+			0x11, 0x0,	/* FC_RP */

+/* 806 */	NdrFcShort( 0xfefe ),	/* Offset= -258 (548) */

+/* 808 */	

+			0x1b,		/* FC_CARRAY */

+			0x0,		/* 0 */

+/* 810 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 812 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 814 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 816 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 818 */	0x1,		/* FC_BYTE */

+			0x5b,		/* FC_END */

+/* 820 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 822 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 824 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 826 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 828 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 830 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 832 */	0x13, 0x0,	/* FC_OP */

+/* 834 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (808) */

+/* 836 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 838 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 840 */	

+			0x1b,		/* FC_CARRAY */

+			0x1,		/* 1 */

+/* 842 */	NdrFcShort( 0x2 ),	/* 2 */

+/* 844 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 846 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 848 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 850 */	0x6,		/* FC_SHORT */

+			0x5b,		/* FC_END */

+/* 852 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 854 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 856 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 858 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 860 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 862 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 864 */	0x13, 0x0,	/* FC_OP */

+/* 866 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (840) */

+/* 868 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 870 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 872 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 874 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 876 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 878 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 880 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 882 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 884 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 886 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 888 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 890 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 892 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 894 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 896 */	0x13, 0x0,	/* FC_OP */

+/* 898 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (872) */

+/* 900 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 902 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 904 */	

+			0x1b,		/* FC_CARRAY */

+			0x7,		/* 7 */

+/* 906 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 908 */	0x19,		/* Corr desc:  field pointer, FC_ULONG */

+			0x0,		/*  */

+/* 910 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 912 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 914 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 916 */	

+			0x16,		/* FC_PSTRUCT */

+			0x3,		/* 3 */

+/* 918 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 920 */	

+			0x4b,		/* FC_PP */

+			0x5c,		/* FC_PAD */

+/* 922 */	

+			0x46,		/* FC_NO_REPEAT */

+			0x5c,		/* FC_PAD */

+/* 924 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 926 */	NdrFcShort( 0x4 ),	/* 4 */

+/* 928 */	0x13, 0x0,	/* FC_OP */

+/* 930 */	NdrFcShort( 0xffe6 ),	/* Offset= -26 (904) */

+/* 932 */	

+			0x5b,		/* FC_END */

+

+			0x8,		/* FC_LONG */

+/* 934 */	0x8,		/* FC_LONG */

+			0x5b,		/* FC_END */

+/* 936 */	

+			0x15,		/* FC_STRUCT */

+			0x3,		/* 3 */

+/* 938 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 940 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 942 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 944 */	

+			0x1b,		/* FC_CARRAY */

+			0x3,		/* 3 */

+/* 946 */	NdrFcShort( 0x8 ),	/* 8 */

+/* 948 */	0x7,		/* Corr desc: FC_USHORT */

+			0x0,		/*  */

+/* 950 */	NdrFcShort( 0xffd8 ),	/* -40 */

+/* 952 */	NdrFcShort( 0x1 ),	/* Corr flags:  early, */

+/* 954 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 956 */	NdrFcShort( 0xffec ),	/* Offset= -20 (936) */

+/* 958 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 960 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x3,		/* 3 */

+/* 962 */	NdrFcShort( 0x28 ),	/* 40 */

+/* 964 */	NdrFcShort( 0xffec ),	/* Offset= -20 (944) */

+/* 966 */	NdrFcShort( 0x0 ),	/* Offset= 0 (966) */

+/* 968 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 970 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 972 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 974 */	NdrFcShort( 0xfdde ),	/* Offset= -546 (428) */

+/* 976 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 978 */	

+			0x13, 0x0,	/* FC_OP */

+/* 980 */	NdrFcShort( 0xfeea ),	/* Offset= -278 (702) */

+/* 982 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 984 */	0x1,		/* FC_BYTE */

+			0x5c,		/* FC_PAD */

+/* 986 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 988 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 990 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 992 */	0x8,		/* FC_LONG */

+			0x5c,		/* FC_PAD */

+/* 994 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 996 */	0xb,		/* FC_HYPER */

+			0x5c,		/* FC_PAD */

+/* 998 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1000 */	0xa,		/* FC_FLOAT */

+			0x5c,		/* FC_PAD */

+/* 1002 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1004 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1006 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1008 */	NdrFcShort( 0xfd9c ),	/* Offset= -612 (396) */

+/* 1010 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1012 */	NdrFcShort( 0xfc12 ),	/* Offset= -1006 (6) */

+/* 1014 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1016 */	NdrFcShort( 0xfd9a ),	/* Offset= -614 (402) */

+/* 1018 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1020 */	NdrFcShort( 0xfc36 ),	/* Offset= -970 (50) */

+/* 1022 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1024 */	NdrFcShort( 0xfda4 ),	/* Offset= -604 (420) */

+/* 1026 */	

+			0x13, 0x10,	/* FC_OP [pointer_deref] */

+/* 1028 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1030) */

+/* 1030 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1032 */	NdrFcShort( 0x14 ),	/* Offset= 20 (1052) */

+/* 1034 */	

+			0x15,		/* FC_STRUCT */

+			0x7,		/* 7 */

+/* 1036 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1038 */	0x6,		/* FC_SHORT */

+			0x1,		/* FC_BYTE */

+/* 1040 */	0x1,		/* FC_BYTE */

+			0x8,		/* FC_LONG */

+/* 1042 */	0xb,		/* FC_HYPER */

+			0x5b,		/* FC_END */

+/* 1044 */	

+			0x13, 0x0,	/* FC_OP */

+/* 1046 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1034) */

+/* 1048 */	

+			0x13, 0x8,	/* FC_OP [simple_pointer] */

+/* 1050 */	0x2,		/* FC_CHAR */

+			0x5c,		/* FC_PAD */

+/* 1052 */	

+			0x1a,		/* FC_BOGUS_STRUCT */

+			0x7,		/* 7 */

+/* 1054 */	NdrFcShort( 0x20 ),	/* 32 */

+/* 1056 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1058 */	NdrFcShort( 0x0 ),	/* Offset= 0 (1058) */

+/* 1060 */	0x8,		/* FC_LONG */

+			0x8,		/* FC_LONG */

+/* 1062 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1064 */	0x6,		/* FC_SHORT */

+			0x6,		/* FC_SHORT */

+/* 1066 */	0x4c,		/* FC_EMBEDDED_COMPLEX */

+			0x0,		/* 0 */

+/* 1068 */	NdrFcShort( 0xfc36 ),	/* Offset= -970 (98) */

+/* 1070 */	0x5c,		/* FC_PAD */

+			0x5b,		/* FC_END */

+/* 1072 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1074 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1076 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1078 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1080 */	NdrFcShort( 0xfc26 ),	/* Offset= -986 (94) */

+/* 1082 */	

+			0x12, 0x0,	/* FC_UP */

+/* 1084 */	NdrFcShort( 0xffe0 ),	/* Offset= -32 (1052) */

+/* 1086 */	0xb4,		/* FC_USER_MARSHAL */

+			0x83,		/* 131 */

+/* 1088 */	NdrFcShort( 0x1 ),	/* 1 */

+/* 1090 */	NdrFcShort( 0x10 ),	/* 16 */

+/* 1092 */	NdrFcShort( 0x0 ),	/* 0 */

+/* 1094 */	NdrFcShort( 0xfff4 ),	/* Offset= -12 (1082) */

+/* 1096 */	

+			0x11, 0xc,	/* FC_RP [alloced_on_stack] [simple_pointer] */

+/* 1098 */	0xc,		/* FC_DOUBLE */

+			0x5c,		/* FC_PAD */

+/* 1100 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1102 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1104) */

+/* 1104 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1106 */	NdrFcLong( 0x2a7d2ae7 ),	/* 712846055 */

+/* 1110 */	NdrFcShort( 0x8eee ),	/* -28946 */

+/* 1112 */	NdrFcShort( 0x45b4 ),	/* 17844 */

+/* 1114 */	0xb1,		/* 177 */

+			0x7f,		/* 127 */

+/* 1116 */	0x31,		/* 49 */

+			0xda,		/* 218 */

+/* 1118 */	0xac,		/* 172 */

+			0x82,		/* 130 */

+/* 1120 */	0xcc,		/* 204 */

+			0xbb,		/* 187 */

+/* 1122 */	

+			0x11, 0x8,	/* FC_RP [simple_pointer] */

+/* 1124 */	0x6,		/* FC_SHORT */

+			0x5c,		/* FC_PAD */

+/* 1126 */	

+			0x11, 0x10,	/* FC_RP [pointer_deref] */

+/* 1128 */	NdrFcShort( 0x2 ),	/* Offset= 2 (1130) */

+/* 1130 */	

+			0x2f,		/* FC_IP */

+			0x5a,		/* FC_CONSTANT_IID */

+/* 1132 */	NdrFcLong( 0x7e0a6b39 ),	/* 2114612025 */

+/* 1136 */	NdrFcShort( 0x7ceb ),	/* 31979 */

+/* 1138 */	NdrFcShort( 0x4944 ),	/* 18756 */

+/* 1140 */	0xab,		/* 171 */

+			0xfa,		/* 250 */

+/* 1142 */	0xf4,		/* 244 */

+			0x19,		/* 25 */

+/* 1144 */	0xd2,		/* 210 */

+			0x1,		/* 1 */

+/* 1146 */	0xd6,		/* 214 */

+			0xa0,		/* 160 */

+

+			0x0

+        }

+    };

+

+XFG_TRAMPOLINES(BSTR)

+XFG_TRAMPOLINES(VARIANT)

+

+static const USER_MARSHAL_ROUTINE_QUADRUPLE UserMarshalRoutines[ WIRE_MARSHAL_TABLE_SIZE ] = 

+        {

+            

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(BSTR_UserFree)

+            

+            }

+            ,

+            {

+            (USER_MARSHAL_SIZING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserSize)

+            ,(USER_MARSHAL_MARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserMarshal)

+            ,(USER_MARSHAL_UNMARSHALLING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserUnmarshal)

+            ,(USER_MARSHAL_FREEING_ROUTINE)XFG_TRAMPOLINE_FPTR(VARIANT_UserFree)

+            

+            }

+            

+

+        };

+

+

+

+/* Standard interface: __MIDL_itf_updater_legacy_idl_user_0000_0000, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}} */

+

+

+/* Object interface: IUnknown, ver. 0.0,

+   GUID={0x00000000,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IDispatch, ver. 0.0,

+   GUID={0x00020400,0x0000,0x0000,{0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x46}} */

+

+

+/* Object interface: IAppVersionWeb, ver. 0.0,

+   GUID={0xAA10D17D,0x7A09,0x48AC,{0xB1,0xE4,0xF1,0x24,0x93,0x7E,0x3D,0x26}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    36,

+    72

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebProxyVtbl = 

+{

+    &IAppVersionWeb_ProxyInfo,

+    &IID_IAppVersionWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWeb::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebStubVtbl =

+{

+    &IID_IAppVersionWeb,

+    &IAppVersionWeb_ServerInfo,

+    10,

+    &IAppVersionWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppVersionWebUser, ver. 0.0,

+   GUID={0xAC817E10,0x993C,0x470F,{0x8D,0xCA,0x25,0xF5,0x3D,0x70,0xEA,0x8D}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppVersionWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    36,

+    72

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppVersionWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppVersionWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppVersionWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(10) _IAppVersionWebUserProxyVtbl = 

+{

+    &IAppVersionWebUser_ProxyInfo,

+    &IID_IAppVersionWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebUser::get_version */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebUser::get_packageCount */ ,

+    (void *) (INT_PTR) -1 /* IAppVersionWebUser::get_packageWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppVersionWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppVersionWebUserStubVtbl =

+{

+    &IID_IAppVersionWebUser,

+    &IAppVersionWebUser_ServerInfo,

+    10,

+    &IAppVersionWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentState, ver. 0.0,

+   GUID={0xA643508B,0xB1E3,0x4457,{0x97,0x69,0x32,0xC9,0x53,0xBD,0x1D,0x57}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentState_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    150,

+    186,

+    222,

+    258,

+    294,

+    330,

+    366,

+    402,

+    438,

+    474,

+    510,

+    546,

+    582,

+    618,

+    654,

+    690

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentState_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentState_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentState_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateProxyVtbl = 

+{

+    &ICurrentState_ProxyInfo,

+    &IID_ICurrentState,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentState::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentState_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateStubVtbl =

+{

+    &IID_ICurrentState,

+    &ICurrentState_ServerInfo,

+    24,

+    &ICurrentState_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: ICurrentStateUser, ver. 0.0,

+   GUID={0x31479718,0xD170,0x467B,{0x92,0x74,0x27,0xFC,0x3E,0x88,0xCB,0x76}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short ICurrentStateUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    150,

+    186,

+    222,

+    258,

+    294,

+    330,

+    366,

+    402,

+    438,

+    474,

+    510,

+    546,

+    582,

+    618,

+    654,

+    690

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO ICurrentStateUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO ICurrentStateUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &ICurrentStateUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _ICurrentStateUserProxyVtbl = 

+{

+    &ICurrentStateUser_ProxyInfo,

+    &IID_ICurrentStateUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_stateValue */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_availableVersion */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_bytesDownloaded */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_totalBytesToDownload */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_downloadTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_nextRetryTime */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installProgress */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installTimeRemainingMs */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_isCanceled */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_errorCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_extraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_completionMessage */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installerResultCode */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_installerResultExtraCode1 */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_postInstallLaunchCommandLine */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_postInstallUrl */ ,

+    (void *) (INT_PTR) -1 /* ICurrentStateUser::get_postInstallAction */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION ICurrentStateUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _ICurrentStateUserStubVtbl =

+{

+    &IID_ICurrentStateUser,

+    &ICurrentStateUser_ServerInfo,

+    24,

+    &ICurrentStateUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3Web, ver. 0.0,

+   GUID={0xA35E1C5E,0x0A18,0x4FF1,{0x8C,0x4D,0xDD,0x8E,0xD0,0x7B,0x0B,0xD0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3Web_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    726

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3Web_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3Web_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3Web_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebProxyVtbl = 

+{

+    &IGoogleUpdate3Web_ProxyInfo,

+    &IID_IGoogleUpdate3Web,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3Web::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3Web_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebStubVtbl =

+{

+    &IID_IGoogleUpdate3Web,

+    &IGoogleUpdate3Web_ServerInfo,

+    8,

+    &IGoogleUpdate3Web_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IGoogleUpdate3WebUser, ver. 0.0,

+   GUID={0xEE8EE731,0xC592,0x4A4F,{0x97,0x74,0xBB,0x04,0x33,0x7B,0x8F,0x46}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IGoogleUpdate3WebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    726

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IGoogleUpdate3WebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IGoogleUpdate3WebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IGoogleUpdate3WebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(8) _IGoogleUpdate3WebUserProxyVtbl = 

+{

+    &IGoogleUpdate3WebUser_ProxyInfo,

+    &IID_IGoogleUpdate3WebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IGoogleUpdate3WebUser::createAppBundleWeb */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IGoogleUpdate3WebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IGoogleUpdate3WebUserStubVtbl =

+{

+    &IID_IGoogleUpdate3WebUser,

+    &IGoogleUpdate3WebUser_ServerInfo,

+    8,

+    &IGoogleUpdate3WebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWeb, ver. 0.0,

+   GUID={0x0569DBB9,0xBAA0,0x48D5,{0x85,0x43,0x0F,0x3B,0xE3,0x0A,0x16,0x48}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    762,

+    816,

+    852,

+    882,

+    918,

+    954,

+    330,

+    990,

+    1032,

+    1062,

+    1092,

+    1122,

+    1152,

+    1182,

+    1212,

+    1242,

+    1284

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebProxyVtbl = 

+{

+    &IAppBundleWeb_ProxyInfo,

+    &IID_IAppBundleWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWeb::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebStubVtbl =

+{

+    &IID_IAppBundleWeb,

+    &IAppBundleWeb_ServerInfo,

+    24,

+    &IAppBundleWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppBundleWebUser, ver. 0.0,

+   GUID={0xCE7A37FD,0xA255,0x460C,{0xBA,0xF1,0x70,0x87,0x65,0xEB,0x76,0xEC}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppBundleWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    762,

+    816,

+    852,

+    882,

+    918,

+    954,

+    330,

+    990,

+    1032,

+    1062,

+    1092,

+    1122,

+    1152,

+    1182,

+    1212,

+    1242,

+    1284

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppBundleWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppBundleWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppBundleWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IAppBundleWebUserProxyVtbl = 

+{

+    &IAppBundleWebUser_ProxyInfo,

+    &IID_IAppBundleWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::createApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::createInstalledApp */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::createAllInstalledApps */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::put_displayLanguage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::put_parentHWND */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_length */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_appWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::initialize */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::checkForUpdate */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::download */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::install */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::pause */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::resume */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::downloadPackage */ ,

+    (void *) (INT_PTR) -1 /* IAppBundleWebUser::get_currentState */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppBundleWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppBundleWebUserStubVtbl =

+{

+    &IID_IAppBundleWebUser,

+    &IAppBundleWebUser_ServerInfo,

+    24,

+    &IAppBundleWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWeb, ver. 0.0,

+   GUID={0x63D941DE,0xF67B,0x4E15,{0x8A,0x90,0x27,0x88,0x1D,0xA9,0xEF,0x4A}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1320,

+    1356,

+    1392,

+    1434,

+    1464,

+    1500,

+    1530,

+    1560,

+    1596

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebProxyVtbl = 

+{

+    &IAppWeb_ProxyInfo,

+    &IID_IAppWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWeb::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebStubVtbl =

+{

+    &IID_IAppWeb,

+    &IAppWeb_ServerInfo,

+    17,

+    &IAppWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppWebUser, ver. 0.0,

+   GUID={0x47B9D508,0xCB72,0x4F8B,{0xAF,0x00,0x7D,0x01,0x43,0x60,0x3B,0x25}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    1320,

+    1356,

+    1392,

+    1434,

+    1464,

+    1500,

+    1530,

+    1560,

+    1596

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(17) _IAppWebUserProxyVtbl = 

+{

+    &IAppWebUser_ProxyInfo,

+    &IID_IAppWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_appId */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_currentVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_nextVersionWeb */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_command */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::cancel */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_currentState */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::launch */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::uninstall */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::get_serverInstallDataIndex */ ,

+    (void *) (INT_PTR) -1 /* IAppWebUser::put_serverInstallDataIndex */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppWebUserStubVtbl =

+{

+    &IID_IAppWebUser,

+    &IAppWebUser_ServerInfo,

+    17,

+    &IAppWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWeb, ver. 0.0,

+   GUID={0x10A2D03F,0x8BC7,0x49DB,{0xA2,0x1E,0xA7,0xD4,0x42,0x9D,0x27,0x59}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWeb_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    36,

+    1632,

+    1668

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWeb_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWeb_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWeb_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebProxyVtbl = 

+{

+    &IAppCommandWeb_ProxyInfo,

+    &IID_IAppCommandWeb,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWeb::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWeb_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebStubVtbl =

+{

+    &IID_IAppCommandWeb,

+    &IAppCommandWeb_ServerInfo,

+    11,

+    &IAppCommandWeb_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IAppCommandWebUser, ver. 0.0,

+   GUID={0x5515E66F,0xFA6F,0x4D74,{0xB5,0xEA,0x4F,0xCF,0xDA,0x16,0xFE,0x12}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IAppCommandWebUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    36,

+    1632,

+    1668

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IAppCommandWebUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IAppCommandWebUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IAppCommandWebUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(11) _IAppCommandWebUserProxyVtbl = 

+{

+    &IAppCommandWebUser_ProxyInfo,

+    &IID_IAppCommandWebUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::get_status */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::get_exitCode */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::get_output */ ,

+    (void *) (INT_PTR) -1 /* IAppCommandWebUser::execute */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IAppCommandWebUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IAppCommandWebUserStubVtbl =

+{

+    &IID_IAppCommandWebUser,

+    &IAppCommandWebUser_ServerInfo,

+    11,

+    &IAppCommandWebUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus, ver. 0.0,

+   GUID={0x6A54FE75,0xEDC8,0x404E,{0xA4,0x1B,0x42,0x78,0xC0,0x55,0x71,0x51}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    1752,

+    1632,

+    222,

+    258,

+    1806,

+    1848,

+    1890,

+    1932

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusProxyVtbl = 

+{

+    &IPolicyStatus_ProxyInfo,

+    &IID_IPolicyStatus,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusStubVtbl =

+{

+    &IID_IPolicyStatus,

+    &IPolicyStatus_ServerInfo,

+    16,

+    &IPolicyStatus_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusUser, ver. 0.0,

+   GUID={0xEF739C0C,0x40B0,0x478D,{0xB7,0x6B,0x36,0x59,0xB8,0xF2,0xB0,0xEB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    114,

+    1752,

+    1632,

+    222,

+    258,

+    1806,

+    1848,

+    1890,

+    1932

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(16) _IPolicyStatusUserProxyVtbl = 

+{

+    &IPolicyStatusUser_ProxyInfo,

+    &IID_IPolicyStatusUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusUser::get_isRollbackToTargetVersionAllowed */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusUserStubVtbl =

+{

+    &IID_IPolicyStatusUser,

+    &IPolicyStatusUser_ServerInfo,

+    16,

+    &IPolicyStatusUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValue, ver. 0.0,

+   GUID={0x2A7D2AE7,0x8EEE,0x45B4,{0xB1,0x7F,0x31,0xDA,0xAC,0x82,0xCC,0xBB}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValue_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    150,

+    1974,

+    882,

+    2010

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValue_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValue_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValue_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueProxyVtbl = 

+{

+    &IPolicyStatusValue_ProxyInfo,

+    &IID_IPolicyStatusValue,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValue::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValue_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueStubVtbl =

+{

+    &IID_IPolicyStatusValue,

+    &IPolicyStatusValue_ServerInfo,

+    12,

+    &IPolicyStatusValue_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatusValueUser, ver. 0.0,

+   GUID={0x7E0A6B39,0x7CEB,0x4944,{0xAB,0xFA,0xF4,0x19,0xD2,0x01,0xD6,0xA0}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatusValueUser_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    150,

+    1974,

+    882,

+    2010

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatusValueUser_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatusValueUser_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatusValueUser_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(12) _IPolicyStatusValueUserProxyVtbl = 

+{

+    &IPolicyStatusValueUser_ProxyInfo,

+    &IID_IPolicyStatusValueUser,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_source */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_value */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_hasConflict */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_conflictSource */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatusValueUser::get_conflictValue */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatusValueUser_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatusValueUserStubVtbl =

+{

+    &IID_IPolicyStatusValueUser,

+    &IPolicyStatusValueUser_ServerInfo,

+    12,

+    &IPolicyStatusValueUser_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2, ver. 0.0,

+   GUID={0x06A6AA1E,0x2680,0x4076,{0xA7,0xCD,0x60,0x53,0x72,0x2C,0xF4,0x54}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2046,

+    852,

+    2082,

+    2118,

+    2160,

+    2196,

+    2232,

+    2268,

+    2304,

+    2340,

+    2376,

+    2418,

+    2460,

+    2502,

+    2544

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2ProxyVtbl = 

+{

+    &IPolicyStatus2_ProxyInfo,

+    &IID_IPolicyStatus2,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2StubVtbl =

+{

+    &IID_IPolicyStatus2,

+    &IPolicyStatus2_ServerInfo,

+    23,

+    &IPolicyStatus2_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus2User, ver. 0.0,

+   GUID={0xAD91C851,0x86AC,0x499F,{0x9B,0xA9,0x9A,0x56,0x17,0x44,0xAA,0x4D}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus2User_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2046,

+    852,

+    2586,

+    2622,

+    2664,

+    2700,

+    2736,

+    2772,

+    2808,

+    2844,

+    2880,

+    2922,

+    2964,

+    3006,

+    3048

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus2User_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus2User_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus2User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(23) _IPolicyStatus2UserProxyVtbl = 

+{

+    &IPolicyStatus2User_ProxyInfo,

+    &IID_IPolicyStatus2User,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetChannel */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus2User_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus2UserStubVtbl =

+{

+    &IID_IPolicyStatus2User,

+    &IPolicyStatus2User_ServerInfo,

+    23,

+    &IPolicyStatus2User_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3, ver. 0.0,

+   GUID={0x029BD175,0x5035,0x4E2A,{0x87,0x24,0xC9,0xD4,0x7F,0x4F,0xAE,0xA3}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2046,

+    852,

+    2082,

+    2118,

+    2160,

+    2196,

+    2232,

+    2268,

+    2304,

+    2340,

+    2376,

+    2418,

+    2460,

+    2502,

+    2544,

+    3090

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3ProxyVtbl = 

+{

+    &IPolicyStatus3_ProxyInfo,

+    &IID_IPolicyStatus3,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3StubVtbl =

+{

+    &IID_IPolicyStatus3,

+    &IPolicyStatus3_ServerInfo,

+    24,

+    &IPolicyStatus3_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+

+/* Object interface: IPolicyStatus3User, ver. 0.0,

+   GUID={0xBC39E1E1,0xE8FA,0x4E72,{0x90,0x3F,0x3B,0xF3,0x46,0xE7,0xE1,0x65}} */

+

+#pragma code_seg(".orpc")

+static const unsigned short IPolicyStatus3User_FormatStringOffsetTable[] =

+    {

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    (unsigned short) -1,

+    0,

+    2046,

+    852,

+    2586,

+    2622,

+    2664,

+    2700,

+    2736,

+    2772,

+    2808,

+    2844,

+    2880,

+    2922,

+    2964,

+    3006,

+    3048,

+    3132

+    };

+

+static const MIDL_STUBLESS_PROXY_INFO IPolicyStatus3User_ProxyInfo =

+    {

+    &Object_StubDesc,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0

+    };

+

+

+static const MIDL_SERVER_INFO IPolicyStatus3User_ServerInfo = 

+    {

+    &Object_StubDesc,

+    0,

+    updater_legacy_idl_user__MIDL_ProcFormatString.Format,

+    &IPolicyStatus3User_FormatStringOffsetTable[-3],

+    0,

+    0,

+    0,

+    0};

+CINTERFACE_PROXY_VTABLE(24) _IPolicyStatus3UserProxyVtbl = 

+{

+    &IPolicyStatus3User_ProxyInfo,

+    &IID_IPolicyStatus3User,

+    IUnknown_QueryInterface_Proxy,

+    IUnknown_AddRef_Proxy,

+    IUnknown_Release_Proxy ,

+    0 /* IDispatch::GetTypeInfoCount */ ,

+    0 /* IDispatch::GetTypeInfo */ ,

+    0 /* IDispatch::GetIDsOfNames */ ,

+    0 /* IDispatch_Invoke_Proxy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updaterVersion */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckedTime */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::refreshPolicies */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_lastCheckPeriodMinutes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_updatesSuppressedTimes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_downloadPreferenceGroupPolicy */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheSizeLimitMBytes */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_packageCacheExpirationTimeDays */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyMode */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyPacUrl */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_proxyServer */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppInstalls */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_effectivePolicyForAppUpdates */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetVersionPrefix */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_isRollbackToTargetVersionAllowed */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus2User::get_targetChannel */ ,

+    (void *) (INT_PTR) -1 /* IPolicyStatus3User::get_forceInstallApps */

+};

+

+

+EXTERN_C DECLSPEC_SELECTANY const PRPC_STUB_FUNCTION IPolicyStatus3User_table[] =

+{

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    STUB_FORWARDING_FUNCTION,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2,

+    NdrStubCall2

+};

+

+CInterfaceStubVtbl _IPolicyStatus3UserStubVtbl =

+{

+    &IID_IPolicyStatus3User,

+    &IPolicyStatus3User_ServerInfo,

+    24,

+    &IPolicyStatus3User_table[-3],

+    CStdStubBuffer_DELEGATING_METHODS

+};

+

+#ifdef __cplusplus

+namespace {

+#endif

+static const MIDL_STUB_DESC Object_StubDesc = 

+    {

+    0,

+    NdrOleAllocate,

+    NdrOleFree,

+    0,

+    0,

+    0,

+    0,

+    0,

+    updater_legacy_idl_user__MIDL_TypeFormatString.Format,

+    1, /* -error bounds_check flag */

+    0x50002, /* Ndr library version */

+    0,

+    0x8010274, /* MIDL Version 8.1.628 */

+    0,

+    UserMarshalRoutines,

+    0,  /* notify & notify_flag routine table */

+    0x1, /* MIDL flag */

+    0, /* cs routines */

+    0,   /* proxy/server info */

+    0

+    };

+#ifdef __cplusplus

+}

+#endif

+

+const CInterfaceProxyVtbl * const _updater_legacy_idl_user_ProxyVtblList[] = 

+{

+    ( CInterfaceProxyVtbl *) &_IAppWebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus2UserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IGoogleUpdate3WebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppCommandWebUserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3ProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppVersionWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_ICurrentStateProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppWebProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatus3UserProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IPolicyStatusValueProxyVtbl,

+    ( CInterfaceProxyVtbl *) &_IAppBundleWebUserProxyVtbl,

+    0

+};

+

+const CInterfaceStubVtbl * const _updater_legacy_idl_user_StubVtblList[] = 

+{

+    ( CInterfaceStubVtbl *) &_IAppWebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2StubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus2UserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IGoogleUpdate3WebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppCommandWebUserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3StubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppVersionWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_ICurrentStateStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppWebStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatus3UserStubVtbl,

+    ( CInterfaceStubVtbl *) &_IPolicyStatusValueStubVtbl,

+    ( CInterfaceStubVtbl *) &_IAppBundleWebUserStubVtbl,

+    0

+};

+

+PCInterfaceName const _updater_legacy_idl_user_InterfaceNamesList[] = 

+{

+    "IAppWebUser",

+    "IPolicyStatusUser",

+    "IAppVersionWebUser",

+    "ICurrentStateUser",

+    "IPolicyStatus2",

+    "IGoogleUpdate3WebUser",

+    "IPolicyStatusValueUser",

+    "IAppCommandWeb",

+    "IPolicyStatus2User",

+    "IGoogleUpdate3Web",

+    "IAppCommandWebUser",

+    "IPolicyStatus3",

+    "IPolicyStatus",

+    "IAppVersionWeb",

+    "ICurrentState",

+    "IAppBundleWeb",

+    "IAppWeb",

+    "IPolicyStatus3User",

+    "IPolicyStatusValue",

+    "IAppBundleWebUser",

+    0

+};

+

+const IID *  const _updater_legacy_idl_user_BaseIIDList[] = 

+{

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    &IID_IDispatch,

+    0

+};

+

+

+#define _updater_legacy_idl_user_CHECK_IID(n)	IID_GENERIC_CHECK_IID( _updater_legacy_idl_user, pIID, n)

+

+int __stdcall _updater_legacy_idl_user_IID_Lookup( const IID * pIID, int * pIndex )

+{

+    IID_BS_LOOKUP_SETUP

+

+    IID_BS_LOOKUP_INITIAL_TEST( _updater_legacy_idl_user, 20, 16 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 8 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 4 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 2 )

+    IID_BS_LOOKUP_NEXT_TEST( _updater_legacy_idl_user, 1 )

+    IID_BS_LOOKUP_RETURN_RESULT( _updater_legacy_idl_user, 20, *pIndex )

+    

+}

+

+EXTERN_C const ExtendedProxyFileInfo updater_legacy_idl_user_ProxyFileInfo = 

+{

+    (PCInterfaceProxyVtblList *) & _updater_legacy_idl_user_ProxyVtblList,

+    (PCInterfaceStubVtblList *) & _updater_legacy_idl_user_StubVtblList,

+    (const PCInterfaceName * ) & _updater_legacy_idl_user_InterfaceNamesList,

+    (const IID ** ) & _updater_legacy_idl_user_BaseIIDList,

+    & _updater_legacy_idl_user_IID_Lookup, 

+    20,

+    2,

+    0, /* table of [async_uuid] interfaces */

+    0, /* Filler1 */

+    0, /* Filler2 */

+    0  /* Filler3 */

+};

+#if _MSC_VER >= 1200

+#pragma warning(pop)

+#endif

+

+

+#endif /* !defined(_M_IA64) && !defined(_M_AMD64) && !defined(_ARM_) */

+

diff --git a/tools/mb/mb_config.pyl b/tools/mb/mb_config.pyl
index aa5e65b..ad4e75b4 100644
--- a/tools/mb/mb_config.pyl
+++ b/tools/mb/mb_config.pyl
@@ -79,26 +79,6 @@
       'ToTWinOfficial64': 'clang_tot_win_official_full_symbols_static',
     },
 
-    'chromium.dev': {
-      # This should be the same as 'android-pie-arm64-rel'.
-      'android-pie-arm64-rel-dev':  'android_release_bot_minimal_symbols_arm64_webview_monochrome_reclient',
-
-      # These should be the same as 'Linux Builder'.
-      'linux-local-ssd-rel-dev': 'gpu_tests_release_bot_do_typecheck_reclient',
-      'linux-rel-dev': 'gpu_tests_release_bot_do_typecheck_reclient',
-      'linux-rel-jammy-dev': 'gpu_tests_release_bot_do_typecheck_reclient',
-      'linux-remote-ssd-rel-dev': 'gpu_tests_release_bot_do_typecheck_reclient',
-
-      # This should be the same as 'Mac Builder'.
-      'mac-arm-rel-dev': 'gpu_tests_release_bot_minimal_symbols_no_nacl_reclient',
-      'mac-rel-dev': 'gpu_tests_release_bot_minimal_symbols_no_nacl_reclient',
-
-      # This should be the same as 'Win x64 Builder'.
-      'win-local-ssd-rel-dev': 'gpu_tests_release_bot_minimal_symbols_reclient',
-      'win-rel-dev': 'gpu_tests_release_bot_minimal_symbols_reclient',
-      'win11-rel-dev': 'gpu_tests_release_bot_minimal_symbols_reclient',
-    },
-
     'chromium.devtools-frontend': {
       'DevTools Linux (chromium)': 'release_trybot_blink_do_typecheck',
     },
@@ -391,11 +371,6 @@
       'android', 'debug_bot_reclient', 'android_fastbuild',
     ],
 
-    'android_release_bot_minimal_symbols_arm64_webview_monochrome_reclient': [
-      'android', 'release_bot_reclient', 'minimal_symbols', 'arm64',
-      'strip_debug_info', 'webview_monochrome',
-    ],
-
     'android_release_bot_minimal_symbols_x86_fastbuild_webview_trichrome_reclient': [
       'android', 'release_bot_reclient', 'minimal_symbols', 'x86',
       'strip_debug_info', 'android_fastbuild', 'webview_trichrome',
@@ -697,18 +672,6 @@
       'gpu_tests', 'debug_bot_reclient', 'x86', 'no_symbols'
     ],
 
-    'gpu_tests_release_bot_do_typecheck_reclient': [
-      'gpu_tests', 'release_bot_reclient', 'devtools_do_typecheck',
-    ],
-
-    'gpu_tests_release_bot_minimal_symbols_no_nacl_reclient': [
-      'gpu_tests', 'release_bot_reclient', 'minimal_symbols', 'disable_nacl',
-    ],
-
-    'gpu_tests_release_bot_minimal_symbols_reclient': [
-      'gpu_tests', 'release_bot_reclient', 'minimal_symbols',
-    ],
-
     'gpu_tests_release_trybot_minimal_symbol_x86_resource_allowlisting_reclient': [
       'gpu_tests', 'release_trybot_minimal_symbols_reclient', 'x86', 'resource_allowlisting',
     ],
@@ -1244,10 +1207,6 @@
       'gn_args': 'devtools_skip_typecheck=false',
     },
 
-    'disable_nacl': {
-      'gn_args': 'enable_nacl=false',
-    },
-
     'disable_widevine_signing': {
       'gn_args': 'enable_widevine_cdm_host_verification = false'
     },
@@ -1530,11 +1489,6 @@
       'args_file': '//build/args/chromeos/volteer.gni',
     },
 
-    # For Android N-P, only userdebug/eng
-    'webview_monochrome': {
-      'gn_args': 'system_webview_package_name="com.google.android.apps.chrome"',
-    },
-
     # Mainly used by builders that use android emulator.
     # See https://bit.ly/3B1cyyt for more details.
     'webview_shell': {
diff --git a/tools/mb/mb_config_expectations/chromium.dev.json b/tools/mb/mb_config_expectations/chromium.dev.json
deleted file mode 100644
index f479a431..0000000
--- a/tools/mb/mb_config_expectations/chromium.dev.json
+++ /dev/null
@@ -1,119 +0,0 @@
-{
-  "android-pie-arm64-rel-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "debuggable_apks": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "strip_debug_info": true,
-      "symbol_level": 1,
-      "system_webview_package_name": "com.google.android.apps.chrome",
-      "target_cpu": "arm64",
-      "target_os": "android",
-      "use_remoteexec": true
-    }
-  },
-  "linux-local-ssd-rel-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "devtools_skip_typecheck": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "use_remoteexec": true
-    }
-  },
-  "linux-rel-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "devtools_skip_typecheck": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "use_remoteexec": true
-    }
-  },
-  "linux-rel-jammy-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "devtools_skip_typecheck": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "use_remoteexec": true
-    }
-  },
-  "linux-remote-ssd-rel-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "devtools_skip_typecheck": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "use_remoteexec": true
-    }
-  },
-  "mac-arm-rel-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "enable_nacl": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "symbol_level": 1,
-      "use_remoteexec": true
-    }
-  },
-  "mac-rel-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "enable_nacl": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "symbol_level": 1,
-      "use_remoteexec": true
-    }
-  },
-  "win-local-ssd-rel-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "symbol_level": 1,
-      "use_remoteexec": true
-    }
-  },
-  "win-rel-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "symbol_level": 1,
-      "use_remoteexec": true
-    }
-  },
-  "win11-rel-dev": {
-    "gn_args": {
-      "dcheck_always_on": false,
-      "ffmpeg_branding": "Chrome",
-      "is_component_build": false,
-      "is_debug": false,
-      "proprietary_codecs": true,
-      "symbol_level": 1,
-      "use_remoteexec": true
-    }
-  }
-}
\ No newline at end of file
diff --git a/tools/metrics/actions/actions.xml b/tools/metrics/actions/actions.xml
index 4cdc8ab..50639cc8 100644
--- a/tools/metrics/actions/actions.xml
+++ b/tools/metrics/actions/actions.xml
@@ -10912,6 +10912,16 @@
   </description>
 </action>
 
+<action name="Glanceables_Classroom_UserAction">
+  <owner>amitrokhin@chromium.org</owner>
+  <owner>tbarzic@chromium.org</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <description>
+    User performed an actoin in the classroom glanceables. This aggregates all
+    user actions that the user can perform in the classroom glanceable.
+  </description>
+</action>
+
 <action name="Glanceables_Tasks_ActiveTaskListChanged">
   <owner>yulunwu@chromium.org</owner>
   <owner>chromeos-launcher@google.com</owner>
@@ -10924,7 +10934,20 @@
   <owner>yulunwu@chromium.org</owner>
   <owner>chromeos-launcher@google.com</owner>
   <description>
-    The add task button is shown for an empty tasks list.
+    The add task button is shown for an empty tasks list - used in the first
+    version of the glanceables UI (used for trusted tester program), where the
+    add task button was shown only for an empty task list.
+  </description>
+</action>
+
+<action name="Glanceables_Tasks_AddTaskStarted">
+  <owner>amitrokhin@chromium.org</owner>
+  <owner>tbarzic@chromium.org</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <description>
+    User clicked on the button to add a new task. Not recorded for Trusted
+    Tester Glanceables UI, which has its own add task button, but with different
+    semantics.
   </description>
 </action>
 
@@ -10932,7 +10955,8 @@
   <owner>wcwang@chromium.org</owner>
   <owner>chromeos-launcher@google.com</owner>
   <description>
-    User clicked on the add new task button on the tasks glanceable.
+    User clicked on the add new task button on the tasks glanceable. Recoreded
+    for Trusted Tester Glanceables UI only.
   </description>
 </action>
 
@@ -10961,6 +10985,26 @@
   </description>
 </action>
 
+<action name="Glanceables_Tasks_ModifyTaskStarted">
+  <owner>amitrokhin@chromium.org</owner>
+  <owner>tbarzic@chromium.org</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <description>
+    User clicked on the task title, and entered UI to modify the task title.
+  </description>
+</action>
+
+<action name="Glanceables_Tasks_NewUserNavigatedToTasks">
+  <owner>amitrokhin@chromium.org</owner>
+  <owner>tbarzic@chromium.org</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <description>
+    User that has a single empty task lists in Google Tasks performed an action
+    in tasks time management glanceables UI that opened tasks web UI in another
+    window.
+  </description>
+</action>
+
 <action name="Glanceables_Tasks_TaskMarkedAsCompleted">
   <owner>yulunwu@chromium.org</owner>
   <owner>chromeos-launcher@google.com</owner>
@@ -10977,6 +11021,16 @@
   </description>
 </action>
 
+<action name="Glanceables_Tasks_UserAction">
+  <owner>amitrokhin@chromium.org</owner>
+  <owner>tbarzic@chromium.org</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <description>
+    User performed an action in the tasks glanceables. This aggregates all user
+    actions that the user can perform intaskss glanceable.
+  </description>
+</action>
+
 <action name="Go">
   <owner>Please list the metric's owners. Add more owner tags as needed.</owner>
   <description>Please enter the description of this user action.</description>
@@ -30918,6 +30972,14 @@
   </description>
 </action>
 
+<action name="SeaPen_FeedbackPressed">
+  <owner>pzliu@google.com</owner>
+  <owner>assistive-eng@google.com</owner>
+  <description>
+    Records that the user pressed the Sea Pen feedback button.
+  </description>
+</action>
+
 <action name="Search.ContextualSearch.All.ResultsSeen.true">
   <owner>donnd@chromium.org</owner>
   <owner>contextual-search-eng@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/android/enums.xml b/tools/metrics/histograms/metadata/android/enums.xml
index 0913a60..8e63cda8d 100644
--- a/tools/metrics/histograms/metadata/android/enums.xml
+++ b/tools/metrics/histograms/metadata/android/enums.xml
@@ -930,6 +930,20 @@
   <int value="4" label="START_STICKY"/>
 </enum>
 
+<enum name="DragDropTabResult">
+  <summary>
+    SUCCESS is recorded during ACTION_DRAG_ENDED. The rest enums are all for
+    failed drops, which are recorded in ACTION_DROP. Also see
+    Android.DragDrop.Tab.FromStrip.Result
+  </summary>
+  <int value="0" label="SUCCESS"/>
+  <int value="1" label="IGNORED_TOOLBAR"/>
+  <int value="2" label="IGNORED_DIFF_MODEL_NOT_SUPPORTED"/>
+  <int value="3" label="IGNORED_TAB_SWITCHER"/>
+  <int value="4" label="IGNORED_SAME_INSTANCE"/>
+  <int value="5" label="ERROR_TAB_NOT_FOUND"/>
+</enum>
+
 <enum name="DragDropType">
   <summary>See Android.DragDrop.Tab.Type</summary>
   <int value="0" label="TAB_STRIP_TO_TAB_STRIP"/>
diff --git a/tools/metrics/histograms/metadata/android/histograms.xml b/tools/metrics/histograms/metadata/android/histograms.xml
index ee73450..0e939a91 100644
--- a/tools/metrics/histograms/metadata/android/histograms.xml
+++ b/tools/metrics/histograms/metadata/android/histograms.xml
@@ -1210,6 +1210,20 @@
   </summary>
 </histogram>
 
+<histogram name="Android.DragDrop.Tab.FromStrip.Result"
+    enum="DragDropTabResult" expires_after="2024-04-28">
+  <owner>shuyng@google.com</owner>
+  <owner>clank-large-form-factors@google.com</owner>
+  <summary>
+    Records the tab drag and drop results, including successful drops and failed
+    drops with varies reasons. For failed drops, it is recorded during
+    ACTION_DROP. For successful drops, it is recored during ACTION_DRAG_ENDED.
+    Note that the successful drops count can be recorded more often than
+    Android.DragDrop.Tab.Type, such as reorder within strip or tabs being
+    consumed as text by EditText in native pages.
+  </summary>
+</histogram>
+
 <histogram name="Android.DragDrop.Tab.Type" enum="DragDropType"
     expires_after="2024-04-28">
   <owner>shuyng@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/ash/enums.xml b/tools/metrics/histograms/metadata/ash/enums.xml
index cb46d02..b6b9f1e 100644
--- a/tools/metrics/histograms/metadata/ash/enums.xml
+++ b/tools/metrics/histograms/metadata/ash/enums.xml
@@ -1132,6 +1132,11 @@
   <int value="6" label="IME tray"/>
 </enum>
 
+<enum name="ModifyGlanceablesTaskResult">
+  <int value="0" label="Change committed"/>
+  <int value="1" label="No change"/>
+</enum>
+
 <enum name="MoveMigratorResumeStep">
   <int value="0" label="Start"/>
   <int value="1" label="MoveSplitItems"/>
@@ -1611,7 +1616,8 @@
   <int value="1" label="Waiting For Startup Delay"/>
   <int value="2" label="Waiting For Oobe Completed"/>
   <int value="3" label="Waiting For Device Settings Trusted"/>
-  <int value="4" label="ReportController Initialized"/>
+  <int value="4" label="Waiting For Last Powerwash Time File to be read."/>
+  <int value="5" label="ReportController Initialized"/>
 </enum>
 
 <enum name="ReportTrustedStatus">
@@ -1652,6 +1658,13 @@
   <int value="6" label="kDreamscapes"/>
   <int value="7" label="kTranslucent"/>
   <int value="8" label="kScifi"/>
+  <int value="100" label="kVcBackgroundSimple"/>
+  <int value="101" label="kVcBackgroundOffice"/>
+  <int value="102" label="kVcBackgroundTerrainVc"/>
+  <int value="103" label="kVcBackgroundCafe"/>
+  <int value="104" label="kVcBackgroundArt"/>
+  <int value="105" label="kVcBackgroundDreamscapesVc"/>
+  <int value="106" label="kVcBackgroundCharacters"/>
 </enum>
 
 <enum name="SetWallpaperResult">
@@ -1786,6 +1799,14 @@
   <int value="2" label="Went back on the home screen"/>
 </enum>
 
+<enum name="TimeManagementGlanceablesFeatureStatus">
+  <int value="0" label="Disabled"/>
+  <int value="1" label="Enabled - trusted tester"/>
+  <int value="2" label="Enabled - GlanceablesV2 flag"/>
+  <int value="3" label="Enabled with pref bypass switch"/>
+  <int value="4" label="Enabled - full launch"/>
+</enum>
+
 <enum name="ToastCatalogName">
 <!-- Defined in ash/constants/notifier_catalogs.h -->
 
diff --git a/tools/metrics/histograms/metadata/ash/histograms.xml b/tools/metrics/histograms/metadata/ash/histograms.xml
index e8c132f..ce6d767 100644
--- a/tools/metrics/histograms/metadata/ash/histograms.xml
+++ b/tools/metrics/histograms/metadata/ash/histograms.xml
@@ -264,6 +264,16 @@
   <variant name="Scifi" summary="Template Scifi"/>
   <variant name="Terrain" summary="Template Terrain"/>
   <variant name="Translucent" summary="Template Translucent"/>
+  <variant name="VcBackgroundArt" summary="VC Background Template Art"/>
+  <variant name="VcBackgroundCafe" summary="VC Background Template Cafe"/>
+  <variant name="VcBackgroundCharacters"
+      summary="VC Background Template Characters"/>
+  <variant name="VcBackgroundDreamscapes"
+      summary="VC Background Template Dreamscapes"/>
+  <variant name="VcBackgroundOffice"
+      summary="VC Background Template Stylish Office"/>
+  <variant name="VcBackgroundSimple" summary="VC Background Template Simple"/>
+  <variant name="VcBackgroundTerrain" summary="VC Background Template Terrain"/>
 </variants>
 
 <variants name="SnapActionSource">
@@ -3574,6 +3584,18 @@
   </summary>
 </histogram>
 
+<histogram name="Ash.Glanceables.TimeManagement.FeatureStatus"
+    enum="TimeManagementGlanceablesFeatureStatus" expires_after="2024-08-31">
+  <owner>amitrokhin@google.com</owner>
+  <owner>tbarzic@google.com</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <summary>
+    Whether time management glanceables are enabled, and the reason they are
+    enabled. Recorded when the feature state gets evaluated - either when an
+    eligible user profile gets created, or glanceables policy changes.
+  </summary>
+</histogram>
+
 <histogram name="Ash.Glanceables.TimeManagement.LoginToShowTime" units="ms"
     expires_after="2024-08-31">
   <owner>anasalazar@google.com</owner>
@@ -3585,6 +3607,68 @@
   </summary>
 </histogram>
 
+<histogram name="Ash.Glanceables.TimeManagement.Tasks.AddedTasks.{Emptiness}"
+    units="int" expires_after="2024-08-31">
+  <owner>amitrokhin@google.com</owner>
+  <owner>tbarzic@google.com</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <summary>
+    Records the number of times the user created a task in the in-line task
+    creation UI while a task list was selected in the tasks time management
+    glanceable bubble. The histogram is recorded when the time management
+    glanceables bubble gets closed, or the user changes the selected task list.
+    The count of added tasks is reset at the same time. The histogram is
+    recorded separately depending on whether the selected task list was
+    initially empty.
+  </summary>
+  <token key="Emptiness">
+    <variant name="InEmptyList"/>
+    <variant name="InNonEmptyList"/>
+  </token>
+</histogram>
+
+<histogram name="Ash.Glanceables.TimeManagement.Tasks.AddedTasksForFirstUsage"
+    units="int" expires_after="2024-08-31">
+  <owner>amitrokhin@google.com</owner>
+  <owner>tbarzic@google.com</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <summary>
+    Records the number of times the user created a task in the in-line task
+    creation UI while a task list was selected in the tasks time management
+    glanceable bubble. The histogram is recorded only if the user is considered
+    a potentially new tasks user (they have a single empty task list in Google
+    Tasks). It's recorded when the glanceables bubble gets closed.
+  </summary>
+</histogram>
+
+<histogram name="Ash.Glanceables.TimeManagement.Tasks.AddTaskResult"
+    enum="ModifyGlanceablesTaskResult" expires_after="2024-08-31">
+  <owner>amitrokhin@google.com</owner>
+  <owner>tbarzic@google.com</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <summary>
+    The result of use interaction with the tasks glanceables UI to add a new
+    task. When the user clicks &quot;Add new task&quot; button, the tasks
+    glanceables UI displays a textfield to enter a new task title. This metric
+    records whether the user entered the task title, initiating an API call to
+    create a task, or whether they dismissed it while it was empty.
+  </summary>
+</histogram>
+
+<histogram name="Ash.Glanceables.TimeManagement.Tasks.ModifyTaskResult"
+    enum="ModifyGlanceablesTaskResult" expires_after="2024-08-31">
+  <owner>amitrokhin@google.com</owner>
+  <owner>tbarzic@google.com</owner>
+  <owner>chromeos-launcher@google.com</owner>
+  <summary>
+    The result of use interaction with the tasks glanceables UI to modify a
+    task. When the user clicks on a task title, the tasks glanceables UI
+    displays a textfield that lets the user update the task title. This metric
+    records whether the user changed the task title, initiating an API call to
+    modify the task, or whether they dismissed it with no changes.
+  </summary>
+</histogram>
+
 <histogram name="Ash.Glanceables.TimeManagement.Tasks.TasksListChangeCount"
     units="int" expires_after="2024-08-31">
   <owner>mmourgos@google.com</owner>
@@ -5834,6 +5918,17 @@
   </summary>
 </histogram>
 
+<histogram name="Ash.Report.IsLastPowerwashTimeRead" enum="BooleanSuccess"
+    expires_after="2024-10-01">
+  <owner>hirthanan@google.com</owner>
+  <owner>chromeos-data-team@google.com</owner>
+  <summary>
+    Record success when the last powerwash time file is read successfully. This
+    histogram is recorded after browser start up, while checking the
+    preconditions of whether to initialize the ReportController. ChromeOS only.
+  </summary>
+</histogram>
+
 <histogram name="Ash.Report.IsOobeCompleted" enum="BooleanSuccess"
     expires_after="2024-10-01">
   <owner>hirthanan@google.com</owner>
diff --git a/tools/metrics/histograms/metadata/autofill/enums.xml b/tools/metrics/histograms/metadata/autofill/enums.xml
index 5165263..35456be9 100644
--- a/tools/metrics/histograms/metadata/autofill/enums.xml
+++ b/tools/metrics/histograms/metadata/autofill/enums.xml
@@ -1232,6 +1232,18 @@
   <int value="78"
       label="A card was about to be submitted after a suggestion without
              metadata was filled (once)"/>
+  <int value="79" label="Suggestions for card with CVC shown"/>
+  <int value="80" label="Suggestions for card with CVC shown (once)"/>
+  <int value="81" label="Suggestion for card with CVC selected"/>
+  <int value="82" label="Suggestion for card with CVC selected (once)"/>
+  <int value="83" label="Suggestion for card with CVC filled"/>
+  <int value="84" label="Suggestion for card with CVC filled (once)"/>
+  <int value="85"
+      label="Form about to be submitted after any suggestion for card with
+             CVC was filled (once)"/>
+  <int value="86"
+      label="Form submitted after any suggestion for card with CVC was filled
+             (once)"/>
 </enum>
 
 <enum name="AutofillFormSubmittedState">
diff --git a/tools/metrics/histograms/metadata/blink/histograms.xml b/tools/metrics/histograms/metadata/blink/histograms.xml
index 31001ed..75d5405 100644
--- a/tools/metrics/histograms/metadata/blink/histograms.xml
+++ b/tools/metrics/histograms/metadata/blink/histograms.xml
@@ -2038,6 +2038,29 @@
   </summary>
 </histogram>
 
+<histogram name="Blink.Fonts.FontServiceThread.MatchFamilyNameTime"
+    units="microseconds" expires_after="2024-04-19">
+  <owner>nidhijaju@chromium.org</owner>
+  <owner>chrome-loading@google.com</owner>
+  <summary>
+    Time spent identifying the best match for a font face to use given a family
+    name and style, including the mojo calls. This is recorded right after the
+    best match is found. This histogram is only logged in platforms with
+    high-resolution clocks.
+  </summary>
+</histogram>
+
+<histogram name="Blink.Fonts.FontServiceThread.OpenStreamTime"
+    units="microseconds" expires_after="2024-04-19">
+  <owner>nidhijaju@chromium.org</owner>
+  <owner>chrome-loading@google.com</owner>
+  <summary>
+    Time spent opening a font file, including the mojo calls. This is recorded
+    right after the font file is opened. This histogram is only logged in
+    platforms with high-resolution clocks.
+  </summary>
+</histogram>
+
 <histogram name="Blink.Fonts.VariableFontsRatio"
     enum="WebFontInstantiationResult" expires_after="2024-05-26">
   <owner>drott@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/chromeos/enums.xml b/tools/metrics/histograms/metadata/chromeos/enums.xml
index bbfb4d1..24ce8ac 100644
--- a/tools/metrics/histograms/metadata/chromeos/enums.xml
+++ b/tools/metrics/histograms/metadata/chromeos/enums.xml
@@ -326,6 +326,7 @@
   <int value="5" label="kWorkerCreated"/>
   <int value="6" label="kWorkerDeserialized"/>
   <int value="7" label="kWorkerDeserializationFailed"/>
+  <int value="8" label="kSuccessfullySubscribedToInvalidationTopic"/>
 </enum>
 
 <enum name="CertProvisioningWorkerState">
diff --git a/tools/metrics/histograms/metadata/content/histograms.xml b/tools/metrics/histograms/metadata/content/histograms.xml
index 3958dc0..54b1ce1 100644
--- a/tools/metrics/histograms/metadata/content/histograms.xml
+++ b/tools/metrics/histograms/metadata/content/histograms.xml
@@ -77,6 +77,13 @@
   </summary>
 </histogram>
 
+<histogram name="ContentNotifications.ClientStatus.Enabled.ByProvider"
+    enum="Boolean" expires_after="2024-06-20">
+  <owner>guiperez@google.com</owner>
+  <owner>chrome-sherlock@google.com</owner>
+  <summary>The status of the push notifications client for Content.</summary>
+</histogram>
+
 <histogram name="ContentNotifications.Promo.Prompt.Action"
     enum="ContentNotificationPromptAction" expires_after="2024-06-20">
   <owner>tinazwang@chromium.org</owner>
diff --git a/tools/metrics/histograms/metadata/enterprise/enums.xml b/tools/metrics/histograms/metadata/enterprise/enums.xml
index f0a6269..d739c68 100644
--- a/tools/metrics/histograms/metadata/enterprise/enums.xml
+++ b/tools/metrics/histograms/metadata/enterprise/enums.xml
@@ -2013,6 +2013,7 @@
   <int value="1193" label="CAHintCertificates"/>
   <int value="1194" label="DeviceLoginScreenTouchVirtualKeyboardEnabled"/>
   <int value="1195" label="DeviceExtendedAutoUpdateEnabled"/>
+  <int value="1196" label="CAPlatformIntegrationEnabled"/>
 </enum>
 
 <enum name="EnterprisePoliciesSources">
diff --git a/tools/metrics/structured/sync/model.py b/tools/metrics/structured/sync/model.py
index 26051d54..cfde851 100644
--- a/tools/metrics/structured/sync/model.py
+++ b/tools/metrics/structured/sync/model.py
@@ -28,7 +28,7 @@
 EVENT_SEQUENCE_PROJECT_NAME = "CrOSEvents"
 
 
-def wrap(text, indent):
+def wrap(text: str, indent: str) -> str:
   wrapper = tw.TextWrapper(width=80,
                            initial_indent=indent,
                            subsequent_indent=indent)
@@ -85,7 +85,7 @@
   KEY_REGEX = r"^[0-9]+$"
   MAX_REGEX = r"^[0-9]+$"
 
-  def __init__(self, xml_string):
+  def __init__(self, xml_string: str):
     elem = ET.fromstring(xml_string)
     util.check_attributes(elem, set())
     util.check_children(elem, {"project"})
@@ -127,7 +127,7 @@
     Calling str(project) will return a canonically formatted XML string.
     """
 
-  def __init__(self, elem):
+  def __init__(self, elem: ET.Element):
     util.check_attributes(elem, {"name"}, {"cros_events"})
     util.check_children(elem, {"id", "summary", "owner", "event"})
     util.check_child_names_unique(elem, "event")
@@ -194,7 +194,7 @@
     Calling str(event) will return a canonically formatted XML string.
     """
 
-  def __init__(self, elem, project):
+  def __init__(self, elem: ET.Element, project: Project):
     util.check_attributes(elem, {"name"}, {"force_record"})
 
     if project.is_event_sequence_project:
@@ -244,7 +244,7 @@
     Calling str(metric) will return a canonically formatted XML string.
     """
 
-  def __init__(self, elem, project):
+  def __init__(self, elem: ET.Element, project: Project):
     util.check_attributes(elem, {"name", "type"}, {"max"})
     util.check_children(elem, {"summary"})
 
@@ -264,7 +264,7 @@
           f" but {project.name} has id type '{project.id}'",
       )
 
-  def is_array(self):
+  def is_array(self) -> bool:
     return "array" in self.type
 
   def __repr__(self):
diff --git a/tools/metrics/structured/sync/model_util.py b/tools/metrics/structured/sync/model_util.py
index a1302de5..94acb1a 100644
--- a/tools/metrics/structured/sync/model_util.py
+++ b/tools/metrics/structured/sync/model_util.py
@@ -14,11 +14,14 @@
 
 import collections
 import re
+from typing import List, Set
+import xml.etree.ElementTree as ET
+
 
 BOOLEAN_REGEX = r"(?i)(true|false|)$"
 
 
-def error(elem, msg):
+def error(elem: ET.Element, msg: str) -> None:
   """Raise a nicely formatted error with some context."""
   name = elem.attrib.get("name", None)
   name = name + " " if name else ""
@@ -26,7 +29,7 @@
   raise ValueError(msg)
 
 
-def get_attr(elem, tag, regex=None):
+def get_attr(elem: ET.Element, tag: str, regex: str = None) -> str:
   """Get an attribute.
 
     Error if it is missing, optionally error if it doesn't match the provided
@@ -56,7 +59,7 @@
   return attr
 
 
-def get_optional_attr(elem, tag, regex=None):
+def get_optional_attr(elem: ET.Element, tag: str, regex: str = None) -> str:
   """Get an attribute.
 
     Returns None if it doesn't exist.
@@ -85,7 +88,10 @@
   return attr
 
 
-def get_compound_children(elem, tag, allow_missing_children=False):
+def get_compound_children(
+    elem: ET.Element,
+    tag: str,
+    allow_missing_children: bool = False) -> List[ET.Element]:
   """Get all child nodes of `elem` with tag `tag`.
 
     Error if none exist, or a child is not a compound node.
@@ -113,7 +119,7 @@
   return children
 
 
-def get_compound_child(elem, tag):
+def get_compound_child(elem: ET.Element, tag: str) -> ET.Element:
   """Get the child of `elem` with tag `tag`.
 
     Error if there isn't exactly one matching child, or it isn't compound.
@@ -134,7 +140,7 @@
   return children[0]
 
 
-def get_text_children(elem, tag, regex=None):
+def get_text_children(elem: ET.Element, tag: str, regex: str = None) -> str:
   """Get the text of all child nodes of `elem` with tag `tag`.
 
     Error if none exist, or a child is not a text node. Optionally ensure the
@@ -173,7 +179,7 @@
   return result
 
 
-def get_text_child(elem, tag, regex=None):
+def get_text_child(elem: ET.Element, tag: str, regex: str = None) -> ET.Element:
   """Get the text of the child of `elem` with tag `tag`.
 
     Error if there isn't exactly one matching child, or it isn't a text node.
@@ -196,7 +202,9 @@
   return result[0]
 
 
-def check_attributes(elem, expected_attrs, optional_attrs=None):
+def check_attributes(elem: ET.Element,
+                     expected_attrs: Set[str],
+                     optional_attrs: Set[str] = None) -> None:
   """Ensure `elem` has no attributes except those in `expected_attrs`.
 
     Args:
@@ -219,7 +227,7 @@
     error(elem, "has unexpected attributes: " + attrs)
 
 
-def check_children(elem, expected_children):
+def check_children(elem: ET.Element, expected_children: Set[str]) -> None:
   """Ensure all children in `expected_children` are in `elem`.
 
     Args:
@@ -239,7 +247,7 @@
     error(elem, "is missing nodes: " + children)
 
 
-def get_boolean_attr(elem, attr_name):
+def get_boolean_attr(elem: ET.Element, attr_name: str) -> bool:
   """Get the Boolean value of the specified attribute 'attr_name'.
 
     Args:
@@ -255,7 +263,7 @@
   return False
 
 
-def check_child_names_unique(elem, tag):
+def check_child_names_unique(elem: ET.Element, tag: str) -> None:
   """Ensure uniqueness of the 'name' of all children of `elem` with `tag`.
 
     Args:
diff --git a/tools/perf/core/perfetto_binary_roller/binary_deps.json b/tools/perf/core/perfetto_binary_roller/binary_deps.json
index 8a22d37..5771523 100644
--- a/tools/perf/core/perfetto_binary_roller/binary_deps.json
+++ b/tools/perf/core/perfetto_binary_roller/binary_deps.json
@@ -5,24 +5,24 @@
             "full_remote_path": "perfetto-luci-artifacts/v41.0/linux-arm64/trace_processor_shell"
         },
         "win": {
-            "hash": "2c12515cfa3e645b0a8bdce31f21b513ffbca986",
-            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/win/1d180b116c5d81db9f40df69684b5060726f6f73/trace_processor_shell.exe"
+            "hash": "b70c90b17d9b6f80b0e10de046e9b204a15ba587",
+            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/win/47d8a29df6e99068a49745c75929874caf6d2630/trace_processor_shell.exe"
         },
         "linux_arm": {
             "hash": "b1a376729d0b7aefc4c38db1348d94d068be07f1",
             "full_remote_path": "perfetto-luci-artifacts/v41.0/linux-arm/trace_processor_shell"
         },
         "mac": {
-            "hash": "023918adddaba47dcc77a24cd6a9c4ab8164b523",
-            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/mac/1d180b116c5d81db9f40df69684b5060726f6f73/trace_processor_shell"
+            "hash": "d19f8f81de10fbadfdd6d5ccd1ac3d93a4123e79",
+            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/mac/47d8a29df6e99068a49745c75929874caf6d2630/trace_processor_shell"
         },
         "mac_arm64": {
             "hash": "8cd6239efb03863974fdc94e5ee004352f999e3a",
             "full_remote_path": "perfetto-luci-artifacts/v41.0/mac-arm64/trace_processor_shell"
         },
         "linux": {
-            "hash": "deb12edfaf9834c084c4b6eeea3a56708bc86335",
-            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/linux/1d180b116c5d81db9f40df69684b5060726f6f73/trace_processor_shell"
+            "hash": "857c84e3a952700f9513bb973887d21e0c17e563",
+            "full_remote_path": "chromium-telemetry/perfetto_binaries/trace_processor_shell/linux/943b66c41f8e415f8fecc1b3bf34274cf96cf0c1/trace_processor_shell"
         }
     },
     "power_profile.sql": {
diff --git a/tools/win/update_idl.py b/tools/win/update_idl.py
index 386ebdfb..dde21f6a4 100644
--- a/tools/win/update_idl.py
+++ b/tools/win/update_idl.py
@@ -139,8 +139,14 @@
     for target_cpu in ['arm64', 'x64', 'x86']:
         for idl_target in [
                 'updater_idl',
+                'updater_idl_user',
+                'updater_idl_system',
                 'updater_internal_idl',
+                'updater_internal_idl_user',
+                'updater_internal_idl_system',
                 'updater_legacy_idl',
+                'updater_legacy_idl_user',
+                'updater_legacy_idl_system',
                 'google_update',
                 'elevation_service_idl',
                 'gaia_credential_provider_idl',
diff --git a/ui/android/BUILD.gn b/ui/android/BUILD.gn
index 8442cb2..d974085 100644
--- a/ui/android/BUILD.gn
+++ b/ui/android/BUILD.gn
@@ -411,6 +411,7 @@
     "java/src/org/chromium/ui/util/AttrUtils.java",
     "java/src/org/chromium/ui/util/ColorUtils.java",
     "java/src/org/chromium/ui/util/TokenHolder.java",
+    "java/src/org/chromium/ui/util/ValueUtils.java",
     "java/src/org/chromium/ui/widget/AnchoredPopupWindow.java",
     "java/src/org/chromium/ui/widget/ButtonCompat.java",
     "java/src/org/chromium/ui/widget/CheckableImageView.java",
diff --git a/ui/android/java/src/org/chromium/ui/dragdrop/DragDropMetricUtils.java b/ui/android/java/src/org/chromium/ui/dragdrop/DragDropMetricUtils.java
index d303a11..f4d00ae2 100644
--- a/ui/android/java/src/org/chromium/ui/dragdrop/DragDropMetricUtils.java
+++ b/ui/android/java/src/org/chromium/ui/dragdrop/DragDropMetricUtils.java
@@ -57,6 +57,31 @@
     }
 
     /**
+     * Enum used by Android.DragDrop.Tab.FromStrip.Result, which records the tab drag and drop
+     * results, including successful drops and failed drops with varies reasons. These values are
+     * persisted to logs. Entries should not be renumbered and numeric values should never be
+     * reused.
+     */
+    @IntDef({
+        DragDropTabResult.SUCCESS,
+        DragDropTabResult.IGNORED_TOOLBAR,
+        DragDropTabResult.IGNORED_DIFF_MODEL_NOT_SUPPORTED,
+        DragDropTabResult.IGNORED_TAB_SWITCHER,
+        DragDropTabResult.IGNORED_SAME_INSTANCE,
+        DragDropTabResult.ERROR_TAB_NOT_FOUND,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface DragDropTabResult {
+        int SUCCESS = 0;
+        int IGNORED_TOOLBAR = 1;
+        int IGNORED_DIFF_MODEL_NOT_SUPPORTED = 2;
+        int IGNORED_TAB_SWITCHER = 3;
+        int IGNORED_SAME_INSTANCE = 4;
+        int ERROR_TAB_NOT_FOUND = 5;
+        int NUM_ENTRIES = 6;
+    }
+
+    /**
      * Record enumerated histogram Android.DragDrop.Tab.Type.
      *
      * @param dragDropType An enum indicating the drag source and drop target.
@@ -65,4 +90,15 @@
         RecordHistogram.recordEnumeratedHistogram(
                 "Android.DragDrop.Tab.Type", dragDropType, DragDropType.NUM_ENTRIES);
     }
+
+    /**
+     * Record enumerated histogram Android.DragDrop.Tab.FromStrip.Result.
+     *
+     * @param result An enum indicating the tab drag and drop results, including successful drops
+     *     and failed drops with varies reasons.
+     */
+    public static void recordTabDragDropResult(@DragDropTabResult int result) {
+        RecordHistogram.recordEnumeratedHistogram(
+                "Android.DragDrop.Tab.FromStrip.Result", result, DragDropTabResult.NUM_ENTRIES);
+    }
 }
diff --git a/ui/android/java/src/org/chromium/ui/util/ValueUtils.java b/ui/android/java/src/org/chromium/ui/util/ValueUtils.java
new file mode 100644
index 0000000..861bd70
--- /dev/null
+++ b/ui/android/java/src/org/chromium/ui/util/ValueUtils.java
@@ -0,0 +1,30 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+package org.chromium.ui.util;
+
+import android.content.res.Resources;
+import android.util.TypedValue;
+
+import androidx.annotation.DimenRes;
+
+/** Helper functions for working with {@TypedValue}s. */
+public final class ValueUtils {
+
+    /** Private constructor to stop instantiation. */
+    private ValueUtils() {}
+
+    /**
+     * Gets the value of a float dimen. Can be replaced by Resources#getFloat once api level is 29+.
+     *
+     * @param resources {@link Resources} used to look up the dimen value.
+     * @param dimenRes The dimen defined in a resource file.
+     * @return The value as a float.
+     */
+    public static float getFloat(Resources resources, @DimenRes int dimenRes) {
+        TypedValue typedValue = new TypedValue();
+        resources.getValue(dimenRes, typedValue, true);
+        return typedValue.getFloat();
+    }
+}
diff --git a/ui/base/ime/win/tsf_input_scope.cc b/ui/base/ime/win/tsf_input_scope.cc
index b138707..e2a79de 100644
--- a/ui/base/ime/win/tsf_input_scope.cc
+++ b/ui/base/ime/win/tsf_input_scope.cc
@@ -108,9 +108,6 @@
                                              WCHAR*, /* unused */
                                              WCHAR* /* unused */);
 
-SetInputScopesFunc g_set_input_scopes = NULL;
-bool g_get_proc_done = false;
-
 InputScope ConvertTextInputTypeToInputScope(TextInputType text_input_type) {
   // Following mapping is based in IE10 on Windows 8.
   switch (text_input_type) {
@@ -152,21 +149,6 @@
 
 }  // namespace
 
-void InitializeTsfForInputScopes() {
-  DCHECK(base::CurrentUIThread::IsSet());
-  // Thread safety is not required because this function is under UI thread.
-  if (!g_get_proc_done) {
-    g_get_proc_done = true;
-
-    HMODULE module = NULL;
-    if (GetModuleHandleExW(GET_MODULE_HANDLE_EX_FLAG_PIN, L"msctf.dll",
-        &module)) {
-      g_set_input_scopes = reinterpret_cast<SetInputScopesFunc>(
-          GetProcAddress(module, "SetInputScopes"));
-    }
-  }
-}
-
 std::vector<InputScope> GetInputScopes(TextInputType text_input_type,
                                        TextInputMode text_input_mode) {
   std::vector<InputScope> input_scopes;
@@ -196,16 +178,4 @@
   return new TSFInputScope(input_scopes);
 }
 
-void SetInputScopeForTsfUnawareWindow(HWND window_handle,
-                                      TextInputType text_input_type,
-                                      TextInputMode text_input_mode) {
-  if (!g_set_input_scopes)
-    return;
-
-  std::vector<InputScope> input_scopes = GetInputScopes(text_input_type,
-                                                        text_input_mode);
-  g_set_input_scopes(window_handle, &input_scopes[0], input_scopes.size(),
-                     NULL, 0, NULL, NULL);
-}
-
 }  // namespace ui::tsf_inputscope
diff --git a/ui/base/ime/win/tsf_input_scope.h b/ui/base/ime/win/tsf_input_scope.h
index e8c159f..f369f9a 100644
--- a/ui/base/ime/win/tsf_input_scope.h
+++ b/ui/base/ime/win/tsf_input_scope.h
@@ -16,10 +16,6 @@
 namespace ui {
 namespace tsf_inputscope {
 
-// Initializes the TSF for input scopes. It loads the tsf dll and get the
-// function pointer for setting the input scopes in TSF.
-COMPONENT_EXPORT(UI_BASE_IME_WIN) void InitializeTsfForInputScopes();
-
 // Returns InputScope list corresoponding to ui::TextInputType and
 // ui::TextInputMode.
 // This function is only used from following functions but declared for test.
@@ -38,15 +34,6 @@
                                 TextInputMode text_input_mode,
                                 bool should_do_learning);
 
-// A wrapper of the SetInputScopes API exported by msctf.dll.
-// http://msdn.microsoft.com/en-us/library/windows/desktop/ms629026.aspx
-// Does nothing on Windows XP in case TSF is disabled.
-// NOTE: For TSF-aware window, you should use ITfInputScope instead.
-COMPONENT_EXPORT(UI_BASE_IME_WIN)
-void SetInputScopeForTsfUnawareWindow(HWND window_handle,
-                                      TextInputType text_input_type,
-                                      TextInputMode text_input_mode);
-
 }  // namespace tsf_inputscope
 }  // namespace ui
 
diff --git a/ui/views/corewm/tooltip.h b/ui/views/corewm/tooltip.h
index 3ef9275a..18d2045 100644
--- a/ui/views/corewm/tooltip.h
+++ b/ui/views/corewm/tooltip.h
@@ -45,6 +45,7 @@
 
   // Returns the max width of the tooltip when shown at the specified location.
   virtual int GetMaxWidth(const gfx::Point& location) const = 0;
+  virtual void SetMaxWidth(int width) {}
 
   // Updates the text on the tooltip and resizes to fit.
   // `position` is relative to `window` and in `window` coordinate space.
diff --git a/ui/views/corewm/tooltip_aura.cc b/ui/views/corewm/tooltip_aura.cc
index d40153b7..fde38d4b 100644
--- a/ui/views/corewm/tooltip_aura.cc
+++ b/ui/views/corewm/tooltip_aura.cc
@@ -73,6 +73,10 @@
   observers_.RemoveObserver(observer);
 }
 
+void TooltipAura::SetMaxWidth(int width) {
+  max_width_ = width;
+}
+
 // static
 void TooltipAura::AdjustToCursor(gfx::Rect* anchor_point) {
   // TODO(crbug.com/1410707): Should adjust with actual cursor size.
@@ -199,7 +203,7 @@
 int TooltipAura::GetMaxWidth(const gfx::Point& location) const {
   display::Screen* screen = display::Screen::GetScreen();
   gfx::Rect display_bounds(screen->GetDisplayNearestPoint(location).bounds());
-  return std::min(kTooltipMaxWidth, (display_bounds.width() + 1) / 2);
+  return std::min(max_width_, (display_bounds.width() + 1) / 2);
 }
 
 void TooltipAura::Update(aura::Window* window,
diff --git a/ui/views/corewm/tooltip_aura.h b/ui/views/corewm/tooltip_aura.h
index 5a556ea0..cf6f7c2 100644
--- a/ui/views/corewm/tooltip_aura.h
+++ b/ui/views/corewm/tooltip_aura.h
@@ -56,6 +56,7 @@
 
   void AddObserver(wm::TooltipObserver* observer) override;
   void RemoveObserver(wm::TooltipObserver* observer) override;
+  void SetMaxWidth(int width) override;
 
   // Adjusts `anchor_point` to the bottom left of the cursor.
   static void AdjustToCursor(gfx::Rect* anchor_point);
@@ -107,6 +108,8 @@
   // showing.
   raw_ptr<aura::Window> tooltip_window_ = nullptr;
 
+  int max_width_ = kTooltipMaxWidth;
+
   // Observes tooltip state change.
   base::ObserverList<wm::TooltipObserver> observers_;
 };
diff --git a/ui/views/corewm/tooltip_view_aura.cc b/ui/views/corewm/tooltip_view_aura.cc
index 4b5abf14..44a914f 100644
--- a/ui/views/corewm/tooltip_view_aura.cc
+++ b/ui/views/corewm/tooltip_view_aura.cc
@@ -67,6 +67,14 @@
   ResetDisplayRect();
 }
 
+void TooltipViewAura::SetMaxLines(size_t max_lines) {
+  render_text_->SetMaxLines(max_lines);
+}
+
+void TooltipViewAura::SetElideBehavior(gfx::ElideBehavior elide_behavior) {
+  render_text_->SetElideBehavior(elide_behavior);
+}
+
 void TooltipViewAura::OnPaint(gfx::Canvas* canvas) {
   OnPaintBackground(canvas);
   gfx::Size text_size = size();
diff --git a/ui/views/corewm/tooltip_view_aura.h b/ui/views/corewm/tooltip_view_aura.h
index 26d8e6f..4e9f2ec 100644
--- a/ui/views/corewm/tooltip_view_aura.h
+++ b/ui/views/corewm/tooltip_view_aura.h
@@ -33,6 +33,8 @@
   void SetFontList(const gfx::FontList& font_list);
   void SetMinLineHeight(int line_height);
   void SetMaxWidth(int width);
+  void SetMaxLines(size_t max_lines);
+  void SetElideBehavior(gfx::ElideBehavior elide_behavior);
 
   // views:View:
   void OnPaint(gfx::Canvas* canvas) override;
diff --git a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar_search_field.ts b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar_search_field.ts
index 7058984..9d8e48f 100644
--- a/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar_search_field.ts
+++ b/ui/webui/resources/cr_elements/cr_toolbar/cr_toolbar_search_field.ts
@@ -46,7 +46,6 @@
         type: Boolean,
         value: false,
         notify: true,
-        observer: 'showingSearchChanged_',
         reflectToAttribute: true,
       },
 
@@ -145,6 +144,8 @@
   private onSearchTermKeydown_(e: KeyboardEvent) {
     if (e.key === 'Escape') {
       this.showingSearch = false;
+      this.setValue('');
+      this.getSearchInput().blur();
     }
   }
 
@@ -152,6 +153,9 @@
     if (e.target !== this.shadowRoot!.querySelector('#clearSearch')) {
       this.showingSearch = true;
     }
+    if (this.narrow) {
+      this.focus_();
+    }
   }
 
   private clearSearch_() {
@@ -159,21 +163,6 @@
     this.focus_();
     this.spinnerActive = false;
   }
-
-  private showingSearchChanged_(_current: boolean, previous?: boolean) {
-    // Prevent unnecessary 'search-changed' event from firing on startup.
-    if (previous === undefined) {
-      return;
-    }
-
-    if (this.showingSearch) {
-      this.focus_();
-      return;
-    }
-
-    this.setValue('');
-    this.getSearchInput().blur();
-  }
 }
 
 declare global {
diff --git a/v8 b/v8
index b439879..cdc82b5 160000
--- a/v8
+++ b/v8
@@ -1 +1 @@
-Subproject commit b439879d791e9bce8ad5e082a9b3ac6bd3ed4879
+Subproject commit cdc82b5931e4f31f9bb1fc046caf3723f1cd6bb0